當前位置:首頁 » 文件管理 » python復制文件夾

python復制文件夾

發布時間: 2022-12-08 00:44:19

python的shutil模塊中文件的復制操作

shutil.file(src, dst):將名為src的文件的內容復制到名為dst的文件中 。

src, dst是文件名

shutil.(source, destination)
shutil.() 函數實現文件復制功能,將 source 文件復制到 destination 文件夾中,兩個參數都是字元串格式。如果 destination 是一個文件名稱,那麼它會被用來當作復制後的文件名稱,即等於 復制 + 重命名。

source一定是文件名,destination可以是文件名也可以是文件夾名

舉例如下:

shutil 模塊

② python復制excel文件

# -*- coding: utf-8 -*-
import xlrd
import shutil
import os
def read_excel():
# 打開文件
workbook = xlrd.open_workbook(r'C:\Users\xxx\Desktop\xxx.xls')
# 獲取所有sheet
print (workbook.sheet_names()) # [u'sheet1', u'sheet2']
#獲取sheet
sheet= workbook.sheet_names()[0]
sheet_data=workbook.sheet_by_name(sheet)
print(sheet_data)
# sheet的名稱,行數,列數
print (sheet_data.name,sheet_data.nrows,sheet_data.ncols)
rows = sheet_data.row_values(0) # 獲取第四行內容
cols = sheet_data.col_values(2) # 獲取第三列內容
print (rows)
for i,j in enumerate(rows):
print(i,':',j)

for i in range(sheet_data.nrows):
strr=sheet_data.row_values(i)[5][:5]
if(strr == 'AXIAL'):
dicom_path=sheet_data.row_values(i)[15]
row_path=sheet_data.row_values(i)[16]
print(row_path)
roww=row_path.split('\\',3)[3]
print(roww)
#row_path='C:\Users\xxx\Desktop\xxx'
path_now=os.path.join('\\\\xxx',roww)
print(path_now)
shutil.tree(path_now,r'C:\Users\xxx\Desktop\Get')
#shutil.tree(row_path,r'C:\Users\xxx\Desktop')
break

if __name__ == '__main__':
read_excel()

#文件復制主要利用shutil包,tree的第一個參數為需要復制的文件夾,第二個參數為目標位置;但第二個參數的目標位置必須不存在,否則會報錯。

③ 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直接安裝後的文件夾能使用嗎

python直接安裝後的文件夾不能使用。如果是直接拷貝.py腳本文件到其他沒裝python的電腦上是不能運行的,如果想把編寫的腳本在其他電腦上直接雙擊運行,可以去下載pyinstaller庫,windows可直接pipinstallpyinstaller安裝,然後在打開命令行,cd到腳本文件的目錄或者在腳本文件的目錄打開cmd,然後輸入pyinstallerF加上腳本文件名(記得加上文件後綴)。

⑤ R、python的文件夾操作

Python OS模塊

1.重命名:os.rename(old, new)
2.刪除:os.remove(file)
3.列出目錄下的 文件 :os.listdir(path)
4.獲取當前工作目錄:os.getcwd()
5.改變工作目錄:os.chdir(newdir)
6.創建多級目錄:os.makedirs(r"c:/python /test")
7.創建單個目錄:os.mkdir("test")
8.刪除多個目錄:os.removedirs(r"c:/python") #刪除所給路徑最後一個目錄下所有空目錄。
9.刪除單個目錄:os.rmdir("test")
10.獲取文件屬性:os.stat(file)
11.修改文件許可權與時間戳:os.chmod(file)
12.執行操作系統 命令:os.system("dir")
13.啟動新進程:os.exec(), os.execvp()
14.在後台執行程序:osspawnv()
15.終止當前進程:os.exit(), os._exit()
16.分離文件名:os.path.split(r"c:/python/ hello.py ") –> ("c://python", " hello.py ")
17.分離擴展名:os.path.splitext(r"c:/python/ hello.py ") –> ("c://python//hello", ".py")
18.獲取路徑名:os.path.dirname(r"c:/python/ hello.py ") –> "c://python"
19.獲取文件名:os.path.basename(r"r:/python/hello.py") –> "hello.py"
20.判斷文件是否存在:os.path.exists(r"c:/python/hello.py") –> True
21.判斷是否是絕對路徑:os.path.isabs(r"./python/") –> False
22.判斷是否是目錄:os.path.isdir(r"c:/python") –> True
23.判斷是否是文件:os.path.isfile(r"c:/python/hello.py") –> True
24.判斷是否是鏈接文件:os.path.islink(r"c:/python/hello.py") –> False
25.獲取文件大小:os.path.getsize(filename)
26.*******:os.ismount("c://") –> True
27.搜索目錄下的所有文件:os.path.walk()
[2.shutil]
1.復制單個文件:shultil.(oldfile, newfle)
2.復制整個目錄樹:shultil.tree(r"./setup", r"./backup")
3.刪除整個目錄樹:shultil.rmtree(r"./backup")
[3.tempfile]
1.創建一個唯一的臨時文件:tempfile.mktemp() –> filename
2.打開臨時文件:tempfile.TemporaryFile()
[4.StringIO] #cStringIO是StringIO模塊的快速實現模塊
1.創建內存 文件並寫入初始數據 :f = StringIO.StringIO("Hello world!")
2.讀入內存文件數據:print f.read() #或print f.getvalue() –> Hello world!
3.想內存文件寫入數據:f.write("Good day!")
4.關閉內存文件:f.close()

rm(list=ls())
path = 'J:/lab/EX29 --在R語言中進行文件(夾)操作'
setwd(path)
cat("file A\n", file="A") #創建一個文件A,文件內容是'file A','\n'表示換行,這是一個很好的習慣
cat("file B\n", file="B") #創建一個文件B
file.append("A", "B") #將文件B的內容附到A內容的後面,注意沒有空行
file.create("A") #創建一個文件A, 注意會覆蓋原來的文件
file.append("A", rep("B", 10)) #將文件B的內容復制10便,並先後附到文件A內容後
file.show("A") #新開工作窗口顯示文件A的內容
file.("A", "C") #復制文件A保存為C文件,同一個文件夾
dir.create("tmp") #創建名為tmp的文件夾
file.(c("A", "B"), "tmp") #將文件夾拷貝到tmp文件夾中
list.files("tmp") #查看文件夾tmp中的文件名
unlink("tmp", recursive=F) #如果文件夾tmp為空,刪除文件夾tmp
unlink("tmp", recursive=TRUE) #刪除文件夾tmp,如果其中有文件一並刪除
file.remove("A", "B", "C") #移除三個文件

⑥ 用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把一個文件夾下的所有東西復制到另一個文件夾下

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()

⑧ 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)
#輸出文件路徑信息

熱點內容
php對象變數 發布:2025-07-27 07:31:37 瀏覽:895
電腦rar解壓 發布:2025-07-27 07:31:33 瀏覽:574
phpcopy 發布:2025-07-27 07:28:39 瀏覽:365
中華人民共和國密碼法執行多少號 發布:2025-07-27 07:27:22 瀏覽:684
面試php程序員 發布:2025-07-27 07:20:04 瀏覽:450
怎麼解壓游戲壓縮包 發布:2025-07-27 07:14:28 瀏覽:844
電子存儲設備包括 發布:2025-07-27 07:13:52 瀏覽:147
linuxoracle配置 發布:2025-07-27 07:08:46 瀏覽:520
php列印pdf 發布:2025-07-27 07:07:19 瀏覽:75
七源碼 發布:2025-07-27 06:55:50 瀏覽:45