admin管理员组文章数量:1660119
文件和文件夹的操作,需注意:如果文件或者文件夹不在当前工作目录,需绝对路径(如r'G:/python/aa')。
获取工作当前目录:os.getcwd()。
可以修改当前工作目录:os.chdir(新目录)。
修改的当前工作目录仅在当前模块可用。若使用Python自带IDLE,仅在当前解释器窗口可用,重新打开也将失效。
创建文件夹:os.mkdir(...)
参数:path,文件夹名。
若文件夹已经存在,则报错FileExistsError。因此先判断是否没有该文件夹,若没有再创建。
补充:os.path.exists(...):判断文件或文件夹是否存在。返回True/False。
if 条件语句,若只有简单一句,可以写在一行。
import os
folder = r'G:/python/aa'
if not os.path.exists(folder): os.mkdir(folder)
删除空文件夹:os.rmdir(...)
参数:path,文件夹名。
注意:只能删除空文件夹。若要彻底删除有文件的文件夹,使用shutil.rmtree(...)。
若文件夹不存在,则报错FileNotFoundError。
若文件夹中有文件,则报错OSError。
先判断文件夹是否存在,且是否没有文件在里面,再删除。
补充:os.listdir(...):遍历文件夹下所有文件(不含子文件夹下的文件),返回列表。
not os.listdir(...):空列表,返回True。若列表有元素,返回False。
条件表达式里返回False的情况:False、0、空值None、空序列对象(空列表、空元祖、空集合、空字典、空字符串)、空range对象、空迭代对象。
import shutil
folder = r'G:/python/aa'
if os.path.exists(folder) and not os.listdir(folder): os.rmdir(folder)
删除文件夹(含文件):shutil.rmtree(...)
若文件夹不存在,则报错FileNotFoundError。因此先判断文件夹是否存在,若存在则删除。
import shutil
folder = r'G:/python/aa'
if os.path.exists(folder): shutil.rmtree(folder)
删除文件:os.remove(...)
参数:path,文件名。
若文件不存在,则报错FileNotFoundError。因此先判断文件是否存在,若存在则删除。
import os
file = r'G:\python\aa\new.xlsx'
if os.path.exists(file): os.remove(file)
文件/文件夹重命名、移动:os.rename(...)
参数:原文件名,新文件名。
注意:若原文件名不存在,则报错FileNotFoundError。若新文件名已经存在,则报错FileExistsError。
(1)若路径相同,只是新文件名与原文件名不同,则文件重命名。
import os
os.chdir(r'G:\python\aa')
os.rename('aa.xlsx', 'new.xlsx')
(2)若路径与原路径不同,文件名相同,相当于文件移动。
import os
os.rename(r'G:\python\abc\aa.xlsx', r'G:\python\aa.xlsx')
(3)若文件名和路径与原文件名原路径都不同,相当于移动文件同时修改文件名。
import os
os.rename(r'G:\python\abc\aa.xlsx', r'G:\python\new.xlsx')
复制文件夹:shutil.copytree(...)
参数:原文件夹,复制后的文件夹(同时可重命名)。
返回:字符串。【复制后的文件夹名】
注意:若原文件夹不存在,则报错FileNotFoundError。若复制后的文件夹名已经存在,则报错FileExistsError。
import shutil
shutil.copytree(r'G:/python/aa', r'G:/abc') # 返回:'G:/abc'
复制文件:shutil.copy(...)
参数:原文件,复制后的文件(同时可重命名)。
返回:字符串。【复制后的文件名】
若原文件不存在,则报错FileNotFoundError。但是如果复制后的文件名已经存在,不会报错,依然返回复制后的文件名。
import shutil
# 将new.xlsx文件复制(且重命名)
file = r'G:\python\aa\new.xlsx'
copyFile = r'G:\python\new_copy.xlsx'
shutil.copy(file, copyFile) # 返回:'G:\\python\\new_copy.xlsx'
版权声明:本文标题:【Python】(os、shutil)创建文件夹、删除文件(夹)、文件重命名、文件移动、复制文件(夹) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729845819a1215118.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论