Python自動化管理電腦檔案及資料夾

2021-10-07 09:50:59 字數 3347 閱讀 9724

目錄

一、輸出目錄所在的檔案以及資料夾

二、遍歷、搜尋檔案及查詢檔案資訊

三、建立臨時檔案及資料夾

四、批量建立、複製、移動、刪除、重新命名檔案及資料夾

五、建立和解壓壓縮包

import os

print(os.getcwd())#獲得當前檔案的位址

print(os.path.join('myprojects','ai'))#讓python自動處理路徑連線

for item in os.listdir():#列出該檔案下的所有檔案

print(item, os.path.isdir(item))#迴圈一遍看誰是檔案誰是資料夾

#os.scandir(指定的絕對路徑或者相對路徑)

for file in os.scandir():

print(file.name, file.is_dir())

import os

import glob

import fnmatch

import datetime

'''第一、

#dirnames是dirpath這個資料夾下的子檔案列表

for dirpath, dirnames, files in os.walk('./'):#把資料夾裡的資料夾裡的資料夾的檔案都找出來

print(f'發現資料夾')#dripath是檔案路徑

print(files)#files是dirpath這個資料夾裡的檔案列表

''''''

第二、#字串a.startswith(字串b):字串a是否以字串b開頭

#字串a.endswith(字串b):字串a是否以字串b結尾

print('makerbean'.startswith('abc'))

print('makerbean'.endswith('bean'))

'''#print(glob.glob('*.py'))#檔案搜尋匹配

#print(fnmatch.fnmatch('makerbean','m*an'))#匹配檔名

that_time = datetime.datetime.formtimestamp(1567764428)

print(that_time)

from tempfile import temporaryfile #建立臨時檔案儲存資料

from tempfile import temporarydirectory

#open,readlines(),close()

'''#讀取檔案

with open('file1.txt','r',encoding='utf-8') as f:

text = f.readlines()

print(text)

#寫入檔案

# 'w'換成'a':如果存在檔案,會接著裡面的內容後面繼續寫入

with open('file2.txt','w',encoding='utf-8') as f:

text = '第一行內容\n第二行內容\n'

f.write(text)

f.write('第三行')

#建立臨時檔案儲存資料

with temporaryfile('w+') as f: # 'w+'表示寫入及讀取檔案

f.write('hello畢老師!')

f.seek(0) # .seek(0)表示回到檔案開頭位置

data = f.readlines() # 程式執行完後會自動刪除臨時檔案

print(data)

'''#建立臨時資料夾

with temporarydirectory() as tmp_folder:

print(f'臨時資料夾已建立:')

import os

import shutil

if not os.path.exists('新資料夾'): #檢測該資料夾是否存在

os.mkdir('新資料夾') #建立資料夾

#shutil.copy(複製檔案,要複製的位置)

shutil.copy('file.txt','./新資料夾')

shutil.copy('file.txt','/新資料夾/new_file.txt')#第二個引數寫到某個檔案路徑,複製到這個路徑並且重新命名

#shutil.copytree(要複製的資料夾,要複製到的新資料夾位置)

shutil.copytree('新資料夾','這是乙個新資料夾')#新資料夾不能存在

#shutil.move(要移動的資料夾/資料夾,要移動的位置)

shutil.move('file2.txt','這是乙個新的資料夾/file3.txt')

#os.rename(要重新命名檔案/資料夾,新名字)

#os.remove(要刪除的檔案)

#shutil.rmtree(要刪除的資料夾)

import zipfile

#讀取壓縮包內檔案

with zipfile.zipfile('這是乙個壓縮包.zip','r') as zipobj:

for filename in zipobj.namelist():

info = zipobj.getinfo(filename)#獲取檔案中的檔案資訊

new_filename = filename.encode('cp437').decode('gbk')#處理壓縮包裡的中文

print(new_filename,info.file_size,info.compress_size)

#解壓壓縮包

with ziofile.zipfile('這是乙個壓縮包.zip','r') as zipobj:

zipobj.extract('file1.txt','c:')

#中文亂碼解決辦法

for file_name in zipobj.namelist:

correct_path = file_name.encode('cp437').decode('gbk')

#將所有檔案都提取出來 .extractall(path=解壓到哪個位置,pwd=b'密碼')

#建立壓縮包zipobj.write(待壓縮檔案名)

file_list = ['lesson1.py','lesson2.py','lesson3.py','file1.txt']

with zipfile.zipfile('這是程式建立的壓縮包.zip','w') as zipobj:

for file in file_list:

zipobj.write(file)

python 自動化記憶體管理

python 記憶體自動化管理注意事項 python中自動管理記憶體的 自動管理記憶體程式語言,例如 object c python 手動管理記憶體程式語言 例如 c python中的記憶體管理採用的 引用計數 的方式,如果乙個物件的引用計數為0,該物件占用的記憶體會被python直譯器清空,物件也...

python中自動化記憶體管理

問題 使用賦值語句 a 10000 b 20000 a a b 發生了什麼?c a 發生了什麼?a 10000 記憶體中建立乙個10000物件,用變數a和10000物件繫結 b 20000 記憶體中建立乙個 20000物件,用變數b和20000物件繫結 a a b 計算物件a 和 b 的和,建立乙個...

管理作業自動化

管理作業自動化 圖31 9 選擇作業命令型別 畫面 3.點選 下一步 顯示 輸入transact sql陳述式 畫面 圖31 10 您必須選擇執行指令的資料庫,然後為作業鍵入陳述式,或者按一下 開啟舊檔 來尋找或開啟含有 t sql 命令的檔案。按一下 剖析 檢查您輸入的 t sql 陳述式的語法。...