的-Python-shutil-模块启动文件和目录操作-利用 (的Python包安装到另外一台)
shutil是/target=_blankclass=infotextkey>Python规范库中的一个模块,提供了许多用于文件操作和目录操作的性能。无论是须要复制、移动、重命名、删除文件,还是启动目录操作,shutil都是一个弱小的工具。
本文将会学习到shutil模块,包括其关键性能和示例代码,以协助你更好地理解如何经常使用它来处置文件和目录。
1.什么是shutil模块?
shutil模块是Python规范库中的一个外围模块,提供了用于文件和目录操作的性能,包括复制、移动、重命名、删除文件和目录等。
shutil模块是基于初级文件操作库os模块构建的,提供了更初级别的文件操作接口,使文件和目录的处置愈加繁难。
经过shutil模块,可以口头以下操作:
shutil模块是Python编程中的一个无法或缺的工具,可以更轻松地治理文件和目录。
2.文件和目录操作
2.1.复制文件
shutil.copy(src,dst)函数用于复制文件。将源文件复制到指标位置。
示例代码:
importshutil#复制文件shutil.copy("source_file.txt","destination_file.txt")
2.2.复制目录
shutil.copytree(src,dst)函数用于复制目录及其内容。递归地复制整个目录结构。
示例代码:
importshutil#复制目录shutil.copytree("source_directory","destination_directory")
2.3.移动文件或目录
shutil.move(src,dst)函数用于移动文件或目录。可以用于重命名文件或将文件或目录从一个位置移动到另一个位置。
示例代码:
importshutil#移动文件shutil.move("source_file.txt","destination_file.txt")#移动目录shutil.move("source_directory","destination_directory")
2.4.重命名文件或目录
shutil.move(src,dst)函数也可以用于重命名文件或目录。经过将新门路传递给dst参数,可以成功重命名操作。
示例代码:
importshutil#重命名文件shutil.move("old_file.txt","new_file.txt")#重命项目录shutil.move("old_directory","new_directory")
2.5.删除文件
shutil.remove(file)函数用于删除文件。
示例代码:
importshutil#删除文件shutil.remove("file_to_delete.txt")
2.6.删除目录
shutil.rmtree(directory)函数用于递归地删除目录及其内容。
示例代码:
importshutil#删除目录及其内容shutil.rmtree("directory_to_delete")
2.7.创立目录
shutil.mkdir(directory)函数用于创立目录。
示例代码:
importshutil#创立目录shutil.mkdir("new_directory")
2.8.删除目录中的文件
shutil.rmtree(directory)函数会删除目录及其内容。假设只想删除目录中的文件但保管目录结构,可以经常使用以下方法:
importshutil#删除目录中的文件,保管目录结构forroot,dirs,filesinos.walk("directory_to_clean"):forfileinfiles:file_path=os.path.join(root,file)os.remove(file_path)
3.文件操作的递归操作
shutil模块提供了许多递归操作的函数,可以在文件操作中十分有用。这些函数可以递归地处置文件和目录,从而简化复杂的操作。
3.1.递归复制
在Python中,经常使用shutil.copytree(src,dst)函数可以递归复制整个目录结构,包括子目录和文件。这个函数十分有用,可以将一个目录及其一切内容复制到另一个位置,保管了整个目录结构。
经常使用shutil.copytree来递归复制目录:
importshutil#源目录和指标目录source_directory="source_directory"destination_directory="destination_directory"#经常使用copytree复制源目录到指标目录shutil.copytree(source_directory,destination_directory)print(f"Directory'{source_directory}'hasbeenrecursivelycopiedto'{destination_directory}'.")
在下面的示例中,source_directory中的一切内容(包括子目录和文件)都会被递归复制到destination_directory。可以在文件操作中坚持目录结构的完整性。
3.2.递归移动
shutil.move(src,dst)函数可以用于递归地移动文件和目录,包括它们的子目录和内容。可以在不同目录之间移动文件和目录,并且可以用于重命名文件或目录。
经常使用shutil.move函数来递归地移动文件和目录:
importshutil#源目录或文件和指标目录或文件source="source_path"destination="destination_path"#经常使用move函数递归移动源到指标shutil.move(source,destination)print(f"'{source}'hasbeenrecursivelymovedto'{destination}'.")
source可以是文件或目录,它及其内容将被递归地移动到destination。假设destination是目录,那么source将成为destination目录的子目录。假设destination是文件门路,那么source将被移动偏重命名为destination。
3.3.递归删除
shutil.rmtree(directory)函数用于递归删除目录及其内容,包括子目录和文件。可以轻松地清算整个目录树。
经常使用shutil.rmtree函数来递归删除目录:
importshutil#要删除的目录directory_to_delete="directory_to_delete"#经常使用rmtree函数递归删除目录及其内容shutil.rmtree(directory_to_delete)print(f"Directory'{directory_to_delete}'hasbeenrecursivelydeleted.")
在下面的示例中,shutil.rmtree函数会删除directory_to_delete目录以及其中的一切子目录和文件。这是一个十分有用的性能,特意须要清算或卸载不再须要的目录时。
4.示例运行:备份文件
让咱们看一个实践示例,经常使用shutil模块创立一个繁难的文件备份脚本。
5.结语
shutil模块是Python编程中的一个弱小工具,用于启动文件和目录操作。不只可以启动基本的文件复制、移动、重命名和删除,还可以递归地处置目录结构。经过深化了解shutil模块的性能,可以更好地把握如何经常使用它来处置文件和目录,从而提高代码的效率和可保养性。
求python大佬
代码如下:
import shutilsource = = open(source,w) as f:for _ in range(1,5)(fhello world{_}!#\n)(source,target)
python 如何通过储存在CSV文件中第一列的文件名查找在电脑指定目录的jpg文件并移动到另外一个指定文件夹
python 移动文件或文件夹操作。 python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。 1.得到当前工作目录,即当前Python脚本工作的目录路径: ()2.返回指定目录下的所有文件和目录()3.函数用来删除一个文件()4.删除多个目录(r“c:\python”)5.检验给出的路径是否是一个文件()6.检验给出的路径是否是一个目录()7.判断是否是绝对路径()8.检验给出的路径是否真地存()9.返回一个路径的目录名和文件() eg (‘/home/swaroop/byte/code/’) 结果:(‘/home/swaroop/byte/code’, ‘’)10.分离扩展()11.获取路径()12.获取文件()13.运行shell命令: ()14.读取和设置环境变量() 与()15.给出当前平台使用的行终止符 Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’16.指示你正在使用的平台 对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’17.重命(old, new)18.创建多级目录(r“c:\python\test”)19.创建单个目录(“test”)20.获取文件属性(file)21.修改文件权限与时间戳(file)22.终止当前进程()23.获取文件大小(filename)文件操作方法大全(“”) #创建空文件 = open(“”,w) #直接打开一个文件,如果文件不存在则创建文件3.关于open 模式:w:以写方式打开,a:以追加模式打开 (从 EOF 开始, 必要时创建新文件)r+:以读写模式打开w+:以读写模式打开 (参见 w )a+:以读写模式打开 (参见 a )rb:以二进制读模式打开wb:以二进制写模式打开 (参见 w )ab:以二进制追加模式打开 (参见 a )rb+:以二进制读写模式打开 (参见 r+ )wb+:以二进制读写模式打开 (参见 w+ )ab+:以二进制读写模式打开 (参见 a+ )([size]) #size为读取的长度,以byte为单位([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分([size]) #把文件每一行作为一个list的一个成员,并返回这个list。 其实它的内部是通过循环调用readline()来实现的。 如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。 (str) #把str写到文件中,write()并不会在str后加上一个换行符(seq) #把seq的内容全部写到文件中(多行一次性写入)。 这个函数也只是忠实地写入,不会在每行后面加上任何东西。 () #关闭文件。 python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。 如果一个文件在关闭后还对其进行操作会产生() #把缓冲区的内容写入硬盘() #返回一个长整型的”文件标签“() #文件是否是一个终端设备文件(unix系统中的)() #返回文件操作标记的当前位置,以文件的开头为原点() #返回下一行,并将文件操作标记位移到下一行。 把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。 (offset[,whence]) #将文件打操作标记移到offset的位置。 这个offset一般是相对于文件的开头来计算的,一般为正数。 但如果提供了whence参数就不一定了,whence可以为0表示从头开始计算,1表示以当前位置为原点计算。 2表示以文件末尾为原点进行计算。 需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。 目录操作方法大全1.创建目录(“file”)2.复制文件(“oldfile”,”newfile”) #oldfile和newfile都只能是文件(“oldfile”,”newfile”) #oldfile只能是文件夹,newfile可以是文件,也可以是目标目录3.复制文件夹(“olddir”,”newdir”) #olddir和newdir都只能是目录,且newdir必须不存在5.重命名文件(目录)(“oldname”,”newname”) #文件或目录都是使用这条命令6.移动文件(目录)(“oldpos”,”newpos”)7.删除文件(“file”)8.删除目录(“dir”) #只能删除空目录(“dir”) #空目录、有内容的目录都可以删9.转换目录(“path”) #换路径四、文件综合操作实例将文件夹下所有图片名称加上’_fc’
免责声明:本文转载或采集自网络,版权归原作者所有。本网站刊发此文旨在传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及版权、内容等问题,请联系本网,我们将在第一时间删除。同时,本网站不对所刊发内容的准确性、真实性、完整性、及时性、原创性等进行保证,请读者仅作参考,并请自行核实相关内容。对于因使用或依赖本文内容所产生的任何直接或间接损失,本网站不承担任何责任。