python 操作文件
1.shutil 模块
(1) copy
import shutil
shutil.copy(a, b),将路径a处的文件复制到路径b
处的文件夹,a和b为路径字符串
shutil.copytree(pathname1, pathname2),将路径pathname1 处的文件
夹,包括它的所有文件和子文件夹,复制到路径pathname2 处的文件夹。pathname1 和
pathname2参数都是字符串。
(2)remove
shutil.move('C:\\bacon.txt', 'C:\\eggs\\new_bacon.txt')
move方法移动文件,同时可以修改移动之后的文件名,如果找不到要移动的目标路径,该文件会变成后面指定的一个文件夹!
(3)delete
用os.unlink(path)将删除path 处的文件。
• 调用os.rmdir(path)将删除path 处的文件夹。该文件夹必须为空,其中没有任
何文件和文件夹。
• 调用shutil.rmtree(path)将删除path 处的文件夹,它包含的所有文件和文件夹都
会被删除。
import os
for filename in os.listdir():
if filename.endswith('.txt'):
#os.unlink(filename)
print(filename)
注意!在删除文件之前最好print(filename) 确认确实是要删的 因为是永久删除。
2.send2trash模块
如果因程序缺陷而用
send2trash 删除了某些你不想删除的东西,稍后可以从垃圾箱恢复。
使用send2trash.send2trash()函数来删除文件和文件夹。
3.os模块
os.walk 遍历目录树,
os.walk()在循环的每次迭代中,返回3 个值:
1.当前文件夹名称的字符串。
2.当前文件夹中子文件夹的字符串的列表。
3.当前文件夹中文件的字符串的列表。
4.zipfile模块
读取zip文件
>>> import zipfile, os
>>> os.chdir('C:\\') # move to the folder with example.zip
>>> exampleZip = zipfile.ZipFile('example.zip')
>>> exampleZip.namelist()
['spam.txt', 'cats/', 'cats/catnames.txt', 'cats/zophie.jpg']
>>> spamInfo = exampleZip.getinfo('spam.txt')
>>> spamInfo.file_size
13908
>>> spamInfo.compress_size
3828
a>>> 'Compressed file is %sx smaller!' % (round(spamInfo.file_size / spamInfo
.compress_size, 2))
'Compressed file is 3.63x smaller!'
>>> exampleZip.close()
ZipFile 对象有一个namelist()方法,返回ZIP 文件中包含的所有文件和文件夹
的字符串的列表。这些字符串可以传递给ZipFile 对象的getinfo()方法,返回一个关
于特定文件的ZipInfo 对象。ZipInfo 对象有自己的属性,诸如表示字节数的file_size
和compress_size,它们分别表示原来文件大小和压缩后文件大小。ZipFile 对象表示
整个归档文件,而ZipInfo 对象则保存该归档文件中每个文件的有用信息。
a处的命令计算出example.zip 压缩的效率,用压缩后文件的大小除以原来文件的大小,并以%s 字符串格式打印出这一信息。
从ZIP 文件中解压缩
>>> import zipfile, os
>>> os.chdir('C:\\') # move to the folder with example.zip
>>> exampleZip = zipfile.ZipFile('example.zip')
>>> exampleZip.extractall()
>>> exampleZip.close()
运行这段代码后,example.zip 的内容将被解压缩到C:\。或者,你可以向
extractall()传递的一个文件夹名称,它将文件解压缩到那个文件夹,而不是当前工作
目录。如果传递给extractall()方法的文件夹不存在,它会被创建。例如,如果你用
exampleZip.extractall('C:\\ delicious')取代处的调用,代码就会从example.zip 中解压
缩文件,放到新创建的C:\delicious 文件夹中。
ZipFile 对象的extract()方法从ZIP 文件中解压缩单个文件。继续交互式环境中
的例子:
>>> exampleZip.extract('spam.txt')
'C:\\spam.txt'
>>> exampleZip.extract('spam.txt', 'C:\\some\\new\\folders')
'C:\\some\\new\\folders\\spam.txt'
>>> exampleZip.close()
传递给extract()的字符串,必须匹配namelist()返回的字符串列表中的一个。或
者,你可以向extract()传递第二个参数,将文件解压缩到指定的文件夹,而不是当
前工作目录。如果第二个参数指定的文件夹不存在,Python 就会创建它。extract()
的返回值是被压缩后文件的绝对路径。
创建和添加到ZIP 文件
要创建你自己的压缩ZIP 文件,必须以“写模式”打开ZipFile 对象,即传入'w'
作为第二个参数(这类似于向open()函数传入'w',以写模式打开一个文本文件)。
如果向ZipFile 对象的write()方法传入一个路径,Python 就会压缩该路径所指
的文件,将它加到ZIP 文件中。write()方法的第一个参数是一个字符串,代表要添
加的文件名。第二个参数是“压缩类型”参数,它告诉计算机使用怎样的算法来压
缩文件。可以总是将这个值设置为zipfile.ZIP_DEFLATED(这指定了deflate 压缩
算法,它对各种类型的数据都很有效)。在交互式环境中输入以下代码:
>>> import zipfile
>>> newZip = zipfile.ZipFile('new.zip', 'w')
>>> newZip.write('spam.txt', compress_type=zipfile.ZIP_DEFLATED)
>>> newZip.close()
这段代码将创建一个新的ZIP 文件,名为new.zip,它包含spam.txt 压缩后的内容。
要记住,就像写入文件一样,写模式将擦除ZIP 文件中所有原有的内容。如果
只是希望将文件添加到原有的ZIP 文件中,就要向zipfile.ZipFile()传入'a'作为第二
个参数,以添加模式打开ZIP 文件。
相关文章
- 恢复pycharm中误删的Python文件
- 【python教程入门学习】PyCharm下载和安装教程(包含配置Python解释器)
- Python 进行 SSH 操作,实现本地与服务器的链接,进行文件的上传和下载
- python移动app开发_神奇的Kivy,让Python快速开发移动app
- 简述python变量的命名规则_Python 变量命名规则
- Python 对文件的IO操作
- matlab/octave/scilab/python 获取当前目录下的文件(夹)名称列表(非遍历)命令小结
- python中关于命名的例子_Python 命名规范入门实例「建议收藏」
- 怎么用python打开csv文件_Python文本处理之csv-csv文件怎么打开[通俗易懂]
- Python操作Excel文件(1)
- python pkl文件_Python字符串格式化输出的方式包括
- python读取文件夹下所有图片文件_python删除某一列
- python的py文件打包成exe_python生成文件
- python文件保存后缀名_python文件后缀名是什么
- Python文件名后缀_python获取目录下所有文件的文件名
- python读取excel单元格内容_python如何读取文件夹下的所有文件
- Python将数据写入txt文件_python将内容写入txt文件
- python读取pdf文件
- 使用Python批量实现文件夹及其子文件夹下指定文件的复制
- 【Python】批量提取图片经纬度并写入csv文件
- Python基础(二十二):文件操作
- 预备小菜:Python入门之操作文件
- Python文件操作(一)
- 学习Python精通SQL Server操作技巧(python操作sqlserver)
- Python轻松连接SQL Server数据库(python连接sqlserver)
- Linux下从系统卸载Python(linux下卸载python)
- python实现文件的递归拷贝实现代码
- 零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版