Python 組織檔案

2022-06-12 19:51:17 字數 3578 閱讀 3485

shutil.copy(source,destination) 複製檔案,返回乙個字串,表示被複製檔案的路徑

ret = shutil.copy('name.txt','../2019-07-09/')  # 複製到指定資料夾下
ret = shutil.copy('

testcase.xlsx

','testcase1.xlsx

') #複製並指定檔名稱

print(ret)

shutil.copytree()將複製整個資料夾,以及它包含的資料夾和檔案

ret1 = shutil.copytree(r'

e:\jiashumeng\exercise\2019-07-09

',r'

e:\jiashumeng\exercise\2019-07-10copy')

#不能複製到目錄存在的檔案 位址的複製最後包名為新包名

2019-07-10copy

print(ret1)

shutil.move(source, destination),將路徑 source 處的資料夾移動到路徑

destination,並返回新位置的絕對路徑的字串。

shutil.move('

name2.txt

',r'

e:\jiashumeng\exercise\2019-07-09

') #移動到指定目錄

shutil.move('name.txt','name2.txt') #移動並修改名稱

-shutil.move('name.txt','../2010-07-09/') 如果沒有2010-07-09資料夾,則會建立2010-07-09檔案 一般不用

如果在 c:\eggs 中原來已經存在乙個檔案 bacon.txt,它就會被覆寫。因為用這

種方式很容易不小心覆寫檔案,所以在使用 move()時應該注意。

os.unlink(path) 將刪除path處檔案,同os.remove(path)

os.rmdir(path) 將刪除path處的資料夾。該資料夾必須為空,其實沒有任何檔案和資料夾

shutil.rmtree(path) 將刪除path處的資料夾,它包含的所有檔案和資料夾都會被刪除(不能刪除指定檔案)

永久刪除檔案和資料夾(包括資料夾)

shutil.rmtree(

"e:\\jiashumeng\\exercise\\2019-07-10copy\\")

for i in os.listdir(r'

e:\jiashumeng\exercise\2019-07-10'):

if i.endswith('

.xlsx'):

os.unlink(i)

#刪除檔案

os.unlink(path)

os.remove(path)

利用 send2trash,比 python 常規的刪除函式要安全得多,因為它會將資料夾和檔案傳送到計算機的垃圾箱或**站,而不是永久刪除它們。

baconfile = open('

name.txt

', 'a'

)baconfile.write(

'bacon is not a vegetable')

baconfile.close()

send2trash.send2trash(

'name.txt

')

for foldername, subfolders, filenames in os.walk('

e:\exercise'):

print('

foldername:

',foldername)

for subfolder in

subfolders:

print('

subfolder:

',subfolder)

for filename in

filenames:

print('

filename:

',filename)

1.當前資料夾名稱的字串。

2.當前資料夾中子資料夾的字串的列表。

3.當前資料夾中檔案的字串的列表。

if zipfile.is_zipfile('

log(1).zip'):

name = zipfile.zipfile('

log(1).zip')

print(name.namelist()) # 包含所有檔案和資料夾的字串的列表

zipfile 物件的 extractall()方法從 zip 檔案中解壓縮所有檔案和資料夾,放到當

前工作目錄中

name = zipfile.zipfile('log(1).zip') 

name.extractall('

../2019-07-10/log

')

zipfile 物件的 extract()方法從 zip 檔案中解壓縮單個檔案。

name = zipfile.zipfile('log(1).zip') 

name.extract('

20190627/20190627_11.txt

',r'

e:\jiashumeng\exercise\2019-07-10')

name.close()

傳遞給 extract()的字串,必須匹配 namelist()返回的字串列表中的乙個。或

者,你可以向 extract()傳遞第二個引數,將檔案解壓縮到指定的資料夾,而不是當

前工作目錄。如果第二個引數指定的資料夾不存在,python 就會建立它。extract()

的返回值是被壓縮後檔案的絕對路徑。

要建立你自己的壓縮 zip 檔案,必須以「寫模式」開啟 zipfile 物件,即傳入'w'

作為第二個引數(這類似於向 open()函式傳入'w',以寫模式開啟乙個文字檔案)。

如果向 zipfile 物件的 write()方法傳入乙個路徑,python 就會壓縮該路徑所指

的檔案,將它加到 zip 檔案中。write()方法的第乙個引數是乙個字串,代表要添

加的檔名。第二個引數是「壓縮型別」引數,它告訴計算機使用怎樣的演算法來壓

縮檔案。可以總是將這個值設定為 zipfile.zip_deflated(這指定了 deflate 壓縮

演算法,它對各種型別的資料都很有效)

newzip = zipfile.zipfile('

../2019-07-09/new.zip

','w')

newzip.write(

'20190627

', compress_type=zipfile.zip_deflated)

newzip.close()

注意事項:

1.通過shutil.copy() 複製的檔案,os.remove(file) 無法刪除,但是send2trash()可以刪除

python檔案組織

shutil.copyfileobj src,dst,length 10 將src檔案裡的內容copy到dst裡,length是每次讀的位元組數。shutil.copy source,destination 複製檔案。該函式將返回乙個字串,該字串表示複製後的檔案路徑 shutil.copytree ...

Python 組織列表

在建立的列表中,元素的排列順序常常是無法 的,但是我們經常需要以特定的順序呈現資訊。可使用如下方式組織列表 1.使用方法sort 對列表進行永久性排序 sort 方法可以永久性的修改列表元素的排列順序,例 cars bmw audi toyota subaru cars.sort print car...

python 組織列表

1.使用sort 方法 按照字母順序排序 cars bmw audi toyota subaru cars.sort print cars 如果按照字母相反的順序 cars bmw audi toyota subaru cars.sort reverse true print cars 注意,這個對...