python 文件操作 复制-python 操作txt文件
发布时间:2023-02-10 09:35 浏览次数:次 作者:佚名
大家好python 文件操作 复制,我是J哥。
本文将介绍几个常用的文件处理模块,包括os模块、shutil模块和zipfile模块。 掌握这些模块对于我们熟练操作和管理文件是很有帮助的。
操作系统模块
Python内置了文件路径相关的模块os,直接导入即可。 os模块中还有一个常用的模块os.path。
#先导入模块
import os
#获取当前工作目录:os.getcwd()
print("当前工作目录:",os.getcwd())
#获取绝对路径:os.path.abspath(path)
print("当前工作目录绝对路径:",os.path.abspath(".")) #列出目前工作目录的绝对路径
print(os.path.abspath("..")) #列出上一层目前工作目录的绝对路径
print(os.path.abspath("hello.py")) #列出目录文件的绝对路径
#传回特定路段相对路径:os.path.relpath(path,start)
print(os.path.relpath("C:\\")) #列出当前工作目录至C:\\的相对路径
print(os.path.relpath("C:\\","hello.py")) #目前文件目录文件至C:\\的相对路径
#检查路径方法:exists/isabs/isdir/isfile(path)
print("文件是否存在:",os.path.exists("hello.py"))
关闭模块
shutil模块提供了一些对文件、目录、压缩包的高级操作,主要是复制和移动。 shutil 模块是一个高级文件、文件夹和压缩包处理模块,可以处理复制大多数文件数据,但在 Windows 和 POSIX 平台上,文件所有者、ACL 和 ADS(替代数据流)将不会被复制。
import shutil
#文件复制:shutil.copy(source,destination)
shutil.copy("write_test.txt","write_test_copy.txt")
#目录复制:shutil.copytree(source,destination)
#文件移动:shutil.move(source,destination)
#文件名更改:shutil.move(source,destination)
#目录的移动:shutil.move(source,destination)
#目录名的更改:shutil.move(source,destination)
#彻底删除底下有数据的目录:shutil.rmtree(path)
#安全删除文件或目录:send2trash(文件或文件夹) 需要pip install send2trash
'write_test_copy.txt'
压缩文件模块
Windows系统提供文件压缩和解压,语法格式:fileZip = zipfile.ZipFile("out.zip","w")。 使用方法:首先使用ZipFile()方法创建一个压缩文件名,并在该方法中加入“w”参数python 文件操作 复制,表示以后由write()方法写入。
#压缩文件
import zipfile
import os,glob
my_dir = "zip_test1" #新建zip_test文件夹
if os.path.exists(my_dir):
print(f"{my_dir}文件已存在")
else:
os.mkdir(my_dir)
print(f"建立{my_dir}文件成功")
fileZip = zipfile.ZipFile("zip_test1.zip","w") #压缩文件对象,即zip_test1文件夹
for name in glob.glob("zip_test1/*"):
fileZip.write(name,os.path.basename(name),zipfile.ZIP_DEFLATED) #最后一个参数说明压缩方式
fileZip.close()
#解压文件
unpack_zip = zipfile.ZipFile("zip_test1.zip") #解压文件对象,即zip_test1文件夹
unpack_zip.extractall("zip_test2") #解压到zip_test2文件夹
unpack_zip.close()
zip_test1文件已存在