目錄
一、輸出目錄所在的檔案以及資料夾
二、遍歷、搜尋檔案及查詢檔案資訊
三、建立臨時檔案及資料夾
四、批量建立、複製、移動、刪除、重新命名檔案及資料夾
五、建立和解壓壓縮包
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 陳述式的語法。...