python拷貝目錄
A. python把一個文件夾下的所有東西復制到另一個文件夾下
fromshutilimport
importos
importre
dest_dir=raw_input('Pleaseenterdestinationpath:(splitpathwith"/")')
source_dir=raw_input('Pleaseentersourcepath:(splitpathwith"/")')
ifnotdest_dir.endswith('/'):
dest_dir+='/'
ifnotsource_dir.endswith('/'):
source_dir+='/'
ifos.path.isdir(dest_dir)andos.path.isdir(source_dir):
forroot,dirs,filesinos.walk(source_dir):
foriinxrange(0,files.__len__()):
sf=os.path.join(root,files[i])
dst=re.sub('([A-Za-z]:/.*?)/',dest_dir,root)
ifnotos.path.exists(dst):
os.makedirs(dst)
(sf,dst)
print'Done!'
else:
raiseException('Wrongpathentered!')
raw_input()
B. 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剪切
C. 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) #第一個參數是目錄,第二個參數也是目錄
D. python中怎樣將文件拷貝到指定的目錄下
用readline
inputFile = open("inputFile.txt", "r")
print "Name of the input file: ", inputFile.name;
outputFile = open("outputFile.txt", "a");
print "Name of the output file: ", outputFile.name;
allLines = inputFile.readlines();
for eachLine in allLines:
print "current line content: %s" % (eachLine);
#append into output file
outputFile.write(eachLine);
inputFile.close();
outputFile.close();
E. python中怎樣轉到指定目錄
例如使用IDLE編譯python代碼時,可以使用os.chdir轉到指定目錄
import os.
os.getcwd() #get current work direction.
os.chdir('E:\Python_File\Test') #change direction.
在這之後可以直接調用』E:Python_FileTest』目錄下的函數。
或者用庫調用:
import osimport shutil.
alllist=os.listdir(u"D:\notes\python\資料\")for i in alllist:
aa,bb=i.split(".") if 'python' in aa.lower():
oldname= u"D:\notes\python\資料\"+aa+"."+bb.
newname=u"d:\\newname"+aa+"."+bb.
shutil.file(oldname,newname).
(5)python拷貝目錄擴展閱讀:
Python中獲得當前目錄和上級目錄:
獲取當前文件的路徑:
from os import path
d = path.dirname(__file__) #返回當前文件所在的目錄 # __file__ 為當前文件, 若果在ide中運行此行會報錯,可改為 #d = path.dirname('.')。
獲得某個路徑的父級目錄:
parent_path = os.path.dirname(d) #獲得d所在的目錄,即d的父級目錄 parent_path = os.path.dirname(parent_path) ##獲得parent_path所在的目錄即parent_path的父級目錄。
獲得規范的絕對路徑:
abspath = path.abspath(d) #返回d所在目錄規范的絕對路徑。
F. 用python把文件夾下的所有文件包括文件夾裡面的文件都拷貝到同一個目錄下
defchange(path,path1):
forfinos.listdir(path):
ifos.path.isfile(path+os.path.sep+f):
a,b=os.path.splitext(f)
ifb!='.py':
shutil.(path+os.sep+f,path1)
elifos.path.isdir(path+os.path.sep+f):
change(path+os.sep+f,path1)
if__name__=='__main__':
path='D:\workspace\python'
path1='D:\workspace\python\filepath'
change(path,path1)
你好,我把change稍微改了一下,看看行不
G. python怎樣實現 先找到文件夾下的所有文件夾,再把這些文件夾下的文件復制到新的文件夾里
#!/usr/bin/envpython
#-*-coding:utf-8-*-
importos
importshutil
importlogging
importdatetime
logging.basicConfig(level=logging.INFO,
format='%(asctime)s%(filename)s[line:%(lineno)d]%(levelname)s%(message)s',
datefmt='%a,%d%b%Y%H:%M:%S',
filename='D:Scriptsmove_file.log',
filemode='a+')
defupload_file(src_path,dst_path):
#目標目錄是否存在,不存在則創建
ifnotos.path.exists(os.path.dirname(dst_path)):
os.makedirs(os.path.dirname(dst_path))
#本地文件是否存在,存在則移動到目標目錄下
ifos.path.exists(src_path):
shutil.move(src_path,dst_path)
defmain(path):
count=0
forroot,dirs,filesinos.walk(path):
forfinfiles:
count+=1
local_file_path=os.path.join(root,f)
upload_file(local_file_path,local_file_path.replace("xxx","zzz"))
logging.info(str(datetime.datetime.now())+":"+str(count))
if__name__=='__main__':
path=r"D:xxx"
try:
main(path)
exceptExceptionase:
logging.error(e)
剛好剛寫完一個。
H. python 怎麼把文件夾下所有文件復制
import
os
import
os.path
rootdir
=
「d:\data」
#
指明被遍歷的文件夾
for
parent,dirnames,filenames
in
os.walk(rootdir):
#三個參數:分別返回1.父目錄
2.所有文件夾名字(不含路徑)
3.所有文件名字
for
dirname
in
dirnames:
#輸出文件夾信息
print
"parent
is:"
+
parent
print
"dirname
is:"
+
dirname
for
filename
in
filenames:
#輸出文件信息
print
"parent
is:"
+
parent
print
"filename
is:"
+
filename
print
"the
full
name
of
the
file
is:"
+
os.path.join(parent,filename)
#輸出文件路徑信息
I. python os 移動文件到指定目錄
使用python的os模塊移動文件到指定目錄,可以使用os模塊中的renames方法,可以生成目錄如果目錄不存在,例如,將當前目錄的文件「test.txt」移動到「data/test.txt「,使用2行代碼即可,如下:
import os;
os.renames("test.txt","data/test.txt");
J. 用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)