0
点赞
收藏
分享

微信扫一扫

uniapp使用Canvas给图片加水印把临时文件上传到服务器

_LEON_ 03-21 07:00 阅读 4

Python文件

1 文件与文件路径

1.1 什么是文件和文件路径

文件就是一种存储在存储设备上的信息集合,文件路径就是文件在计算机上的存储位置,文件路径有绝对路径和相对路径。

1.2 绝对路径

就是绝对不变的路径,比如在目录 D:\user\001 下有一个文件 a.txt,那么‘D:\user\001’就是该文件的绝对路径,绝对路径也可以说是从根目录开始描述的路径。

1.3 相对路径

是相对与当前路径开始描述的路径,一个点 . 表示当前目录,两个点 … 表示上级目录。

2 文件的基本操作

在Python中对文件进行操作,主要使用两个模块,os模块和os.path模块。

2.1 路径检查方法

  • 判断文件或路径是否存在
  • 判断是否绝对路径
  • 判断是否是目录
  • 判断是否是文件

2.2 目录操作方法

  • 创建目录
  • 删除目录
  • 切换到指定目录
  • 删除文件
  • 路径在各操作系统上通用方法示例
>>> path_str = 'c:\\windows\\system'
>>> path_list = path_str.split(os.path.seq)
['c:','windows','system']
>>> os.path.seq.join(path_list)
'c:\\windows\\system'

2.3 信息获取方法

  • 获取Python当前工作目录
  • 获取文件绝对路径
  • 获取文件相对路径
  • 获取文件大小
  • 获取path中的路径
  • 获取path中的名字
  • 获取正确的路径分隔斜杠
  • 获取目录下所有内容
  • 遍历目录下所有内容

3 文件读写

Python读写文件的方式与其他语言类似,一般分三步:打开文件、读取或写入文件、关闭文件。

3.1 打开文件

3.2 读取文件

3.3 文件写入

3.4 关闭文件

3.5 示例

# 硬盘上存在的一个文件
>>> file = "d:\\study\\test.txt"
# 打开文件
>>> f = open(file, encoding="utf-8")
# 读取文件全部内容为一个字符串
>>> str = f.read()
# 读取文件全部内容为一个字符串列表,列表中的每一项为文件中的一行
>>> str_list = f.readline()
# 逐行读取文件
>>> for line in f:
>>>     print(line)
# 关闭文件
>>> f.close()

3.6 with as 上下文语法

文件打开操作后都要进行关闭操作,如果忘记关闭就会出现问题,为了避免忘记关闭的情况出现,Python提供了一个with as 语法来解决此问题,使用示例如下:

>>> file = "d:\\study\\test.txt"
>>> with open(file, encoding="utf-8") as f:
>>>     str = f.read()

4 文件复制

shutil模块(或称shell工具),该模块中包含函数能让我们在Python中对文件进行复制、移动、修改和删除操作。

4.1 复制文件

4.2 复制目录

5 文件移动

5.1 移动文件

5.2 移动目录

5.3 重命名文件或目录

6 文件删除

6.1 删除非空目录

7 文件压缩和解压缩

利用zipfile模块提供的函数,可对文件或文件夹进行压缩和解压缩处理。

7.1 文件压缩

import os,zipfile
os.chdir('d:\\2024')
zip1 = zipfile.ZipFile('2024.zip')

# ZipFile对象的namelist方法,返回zip文件中所有文件和文件夹的字符串列表
zip1.namelist()
['202401/', '202402/', 'a.txt', 'b.txt']

# ZipFile对象的getinfo方法,返回一个关于特定文件的ZipInfo对象,该对象有自己的属性。
# 如表示字节数的file_size(原文件大小)和compress(压缩后文件大小)。
# ZipFile对象表示整个归档对象,而zipinfo则保存归档文件中每个文件有用的信息。
zipinfo1 = zip1.getinfo('a.txt')
zipinfo1.file_size
13001
zipinfo1.compress_size
3820

zip1.close()

7.2 文件解压缩

>>> zip2 = zipfile.ZipFile('new.zip', 'w')
>>> zip2.write('1.txt', compress_type=zipfile.ZIP_DEFLATED)
>>> zip2.close()

以上代码与写文件一样,'w’模式将擦除zip文件中原有内容,如果要添加内容则用’a’添加模式。

8 编码知识

open 函数的 encoding 参数值设置为了 utf-8,因为设置为该值可以解决很多程序中潜在的编码 BUG。

举报

相关推荐

0 条评论