当前位置:首页 » 编程语言 » pythonshutilcopy

pythonshutilcopy

发布时间: 2022-06-12 06:18:25

python shutil.什么意思

使用这个方法123456789import shutil, errno def anything(src, dst): try: shutil.tree(src, dst) except OSError as exc: # python >2.5 if exc.errno == errno.ENOTDIR: shutil.(src, dst) else: raise

② python 实现一级目录下的所有文件与文件夹到指定目录

'''
python3 实现
将a目录下所有文件和文件夹到b目录
'''
import os, shutil

#src 原始目录, des 目标目录
def sourcecpy(src, des):
src = os.path.normpath(src)
des = os.path.normpath(des)
if not os.path.exists(src) or not os.path.exists(src):
print("文件路径不存在")
sys.exit(1)
#获得原始目录中所有的文件,并拼接每个文件的绝对路径
os.chdir(src)
src_file = [os.path.join(src, file) for file in os.listdir()]
for source in src_file:
#若是文件
if os.path.isfile(source):
shutil.(source, des) #第一个参数是文件,第二个参数目录
#若是目录
if os.path.isdir(source):
p, src_name = os.path.split(source)
des = os.path.join(des, src_name)
shutil.tree(source, des) #第一个参数是目录,第二个参数也是目录

③ python 中如何实现对文件的复制、粘贴

file类中没有提供专门的文件复制函数,因此只能通过使用文件的读写函数来实现文件的复制。这里仅仅给出范例:
src = file("myfile.txt", "w+")
temp = ["hello world! \n"]
src.writelines(temp)
src.close()

src = file("myfile.txt", "r+")
des = file("myfile2.txt", "w+")
des.writelines(src.read())
src.close()
des.close()

shutil模块是另一个文件,目录的管理接口,提供了一些用于复制文件,目录的函数。file()函数可以实现文件的拷贝,声明如下:
file(src, des)
文件的剪切可以使用move()函数模拟,声明如下:
move(src,des)
功能:移动一个文件或者目录到指定的位置,并且可以根据参数des重命名移动后的文件。

④ 用python如何将文件夹内部分指定文件名的文件复制到目标文件夹,大佬求教!

import glob
import shutil

def _file(names,old_name,new_name):
for name in names:
filename = name.split("\\")[-1]
#filename:从路径中截取文件名
shutil.file(old_name + filename, new_name + filename)

files = glob.glob(r'D:/A/1*.txt')
#files : 搜索得到的符合条件(带有1开头的txt)的文件列表
old_path = r'D:/A/'
new_path = r'D:/B/'
_file(files,old_path,new_path)

⑤ 如何用python复制粘贴文件到指定文件夹,windows

import
shutil
#复制文件
shutil.file('listfile.py',
'd:/test.py')
#复制目录
shutil.tree('d:/temp',
'c:/temp/')
#其余可以参考shutil下的函数

⑥ python 怎么将输入目录内的文件拷贝至另一个目录的同名文件夹

这是最近写的一个类似代码,你拿去改改
import shutil
import os
import logging
import sys

logger = logging.getLogger(__name__)
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)

def cp_or_mv2(src_file, des_dir, is_):
print(src_file, des_dir)
if os.path.isfile(src_file):
logger.info(f'from file {src_file}')
if is_:
shutil.2(src_file, des_dir)
logger.info(f' to {des_dir}')
else:
des_file = os.path.join(des_dir, src_file)
shutil.move(src_file, des_file)
logger.info(f'move to {des_file}')
else:
logger.info(f'from dir {src_file}')
des_dir_level1 = os.path.join(des_dir, src_file)
shutil.tree(src_file, des_dir_level1, dirs_exist_ok=True)
logger.info(f'to {des_dir_level1}')
if not is_:
shutil.rmtree(src_file)
logger.info(f'deleted {src_file}')

def process_files_in_txt(txt_file, src_dir, des_dir, is_=True):
os.chdir(src_dir)
with open(txt_file, 'r', encoding='utf8', errors='ignore') as f:
for line in f.readlines():
src_file = line.strip()
# logger.info(src_file)
if os.path.exists(src_file):
cp_or_mv2(src_file, des_dir, is_)
else:
logger.warning(f'{src_file} missing!')

if __name__ == '__main__':
process_files_in_txt(r"D:\D\需要拷贝.txt", # 哪些文件(夹)
r"D:\D\Desktop", # 从哪个文件夹
r"D:\D\新建文件夹", # 到哪个文件夹
is_=False) # True复制,False剪切

⑦ python shutil模块函数file和的区别

shutil.file( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉
shutil.move( src, dst) 移动文件或重命名
shutil.mode( src, dst) 只是会复制其权限其他的东西是不会被复制的
shutil.stat( src, dst) 复制权限、最后访问时间、最后修改时间
shutil.( src, dst) 复制一个文件到一个文件或一个目录
shutil.2( src, dst) 在上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西
shutil.2( src, dst) 如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作
shutil.tree( olddir, newdir, True/Flase)
把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接
shutil.rmtree( src ) 递归删除一个目录以及目录内的所有内容

⑧ python里面shutil是什么

shutil 是高级的文件,文件夹,压缩包处理模块。

1.shutil.fileobj(fsrc, fdst[, length])

将文件内容拷贝到另一个文件中

import shutil
shutil.fileobj(open('old.xml','r'), open('new.xml', 'w'))

2.shutil.file(src, dst)

拷贝文件

shutil.file('f1.log', 'f2.log')

3.shutil.mode(src, dst)

仅拷贝权限。内容、组、用户均不变

shutil.mode('f1.log', 'f2.log')

4.shutil.stat(src, dst)

仅拷贝状态的信息,包括:mode bits, atime, mtime, flags

shutil.stat('f1.log', 'f2.log')

5.shutil.(src, dst)

拷贝文件和权限

shutil.('f1.log', 'f2.log')

6.shutil.2(src, dst)

拷贝文件和状态信息

shutil.2('f1.log', 'f2.log')

7.shutil.ignore_patterns(*patterns)

shutil.tree(src, dst, symlinks=False, ignore=None)

递归的去拷贝文件夹

shutil.tree('folder1', 'folder2', ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))
shutil.tree('f1', 'f2', symlinks=True, ignore=shutil.ignore_patterns('*.pyc', 'tmp*'))

8.shutil.rmtree(path[, ignore_errors[, onerror]])

递归的去删除文件

shutil.rmtree('folder1')

9.shutil.move(src, dst)

递归的去移动文件,它类似mv命令,其实就是重命名。

shutil.move('folder1', 'folder3')

10.shutil.make_archive(base_name, format,...)

创建压缩包并返回文件路径,例如:zip、tar

创建压缩包并返回文件路径,例如:zip、tar

  • base_name: 压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径,
    如:www =>保存至当前路径
    如:/Users/wupeiqi/www =>保存至/Users/wupeiqi/

  • format: 压缩包种类,“zip”, “tar”, “bztar”,“gztar”

  • root_dir: 要压缩的文件夹路径(默认当前目录)

  • owner: 用户,默认当前用户

  • group: 组,默认当前组

  • logger: 用于记录日志,通常是logging.Logger对象


⑨ 如何使用python复制大概200G的数据[任何语言只要能实现]

如果我理解的正确的话,楼主是要大文件吧。

python最经常使用的函数,应该是shutil.file()了,它默认以16384bytes 的大小作为缓冲区,对于小的文件,的确不错。但是处理到大的文件的时候,性能下降就很严重。过小的buffer会不合适。

经过多次的尝试,发现10Mb的buffer最合适,再高也没有性能的提升。重载后的函数如下

defFile(src,dst,buffer_size=10485760,perserveFileDate=True):

'''

Copiesafiletoanewlocation.

@paramsrc:SourceFile

@paramdst:DestinationFile(notfilepath)

@parambuffer_size:Buffersizetousering

@paramperserveFileDate:Preservetheoriginalfiledate

'''

#.Ifitdoesn'tcreatethedirectory

dstParent,dstFileName=os.path.split(dst)

if(not(os.path.exists(dstParent))):

os.makedirs(dstParent)#

buffer_size=min(buffer_size,os.path.getsize(src))

if(buffer_size==0):

buffer_size=1024ifshutil._samefile(src,dst):

raiseshutil.Error("`%s`and`%s`arethesamefile"%(src,dst))

forfnin[src,dst]:

try:

st=os.stat(fn)

exceptOSError:

#Filemostlikelydoesnotexist

pass

else:

#XXXWhataboutotherspecialfiles?(sockets,devices...)

ifshutil.stat.S_ISFIFO(st.st_mode):

raiseshutil.SpecialFileError("`%s`isanamedpipe"%fn)

withopen(src,'rb')asfsrc:

withopen(dst,'wb')asfdst:

shutil.fileobj(fsrc,fdst,buffer_size)if(perserveFileDate):

shutil.stat(src,dst)

使用的时候记得添加相应的包。

⑩ Python shutil.问题 为什么无法传值

shutil.file( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉
shutil.move( src, dst) 移动文件或重命名
shutil.mode( src, dst) 只是会复制其权限其他的东西是不会被复制的
shutil.stat( src, dst) 复制权限、最后访问时间、最后修改时间
shutil.( src, dst) 复制一个文件到一个文件或一个目录!

热点内容
数据库access2003 发布:2024-05-19 02:49:39 浏览:619
碧蓝航线pc挂机脚本 发布:2024-05-19 02:30:03 浏览:588
脚本fir 发布:2024-05-19 02:28:57 浏览:260
阿里云独享服务器 发布:2024-05-19 02:23:54 浏览:253
织梦源码ga 发布:2024-05-19 02:23:20 浏览:571
java文件名后缀 发布:2024-05-19 02:14:39 浏览:956
快手点榜脚本 发布:2024-05-19 02:08:44 浏览:163
pythonforinkeys 发布:2024-05-19 01:55:44 浏览:793
电脑如何局域网共享文件夹 发布:2024-05-19 01:25:01 浏览:69
手机存储越大性能越好吗 发布:2024-05-19 01:14:28 浏览:177