一.命題練習
1. 一個目錄下只有檔案(自己構造),拷貝幾個檔案(手工完成)
2.獲取所有檔案,如果檔案的建立時間是今天,那麼就在檔案裡面寫上檔案的路徑、檔名和副檔名
3.如果不是今天建立的請刪除
4.計算一下這個程式的執行耗時
演算法:
首先目錄下的檔案進行如下操作,如果不是檔案,則跳過:
a. 獲取所有檔案,使用os.path.listdir()函式;
b. 獲取檔案建立時間使用os.path.getctime()函式;
c. 基於條件b符合,使用追加寫開啟檔案寫入檔案路徑os.getcwd()獲取,檔名os.splitext()[0]獲取,副檔名os.splitext()[1]獲取
d. 如果不是今天建立的使用os.remove()刪除檔案
f. 計算耗時使用time函式來計算
def proposition(source_dir):
import os
import os.path
import time
start = time.time()
#記錄開始時間
local_time = time.localtime(start)
#time.localtime()輸出結果可通過切片取值
os.chdir(source_dir)
#切換目錄到source_dir目錄下
file_list=os.listdir()
#獲取所在目錄下的檔案列表
for file in file_list:
file_create_time=time.localtime(os.path.getctime(file))
#遍歷檔案,獲取檔案建立時間,將檔案建立時間轉換為localtime()
if file_create_time[0] == local_time[0] and file_create_time[1] == local_time[1] and file_create_time[2] == local_time[2] and os.path.isfile(file):
#file_create_time[0]代表年份
#file_create_time[1]代表月份
#file_create_time[2]代表日
#如果都匹配,則進行寫檔案操作
with open(file,`a`) as fp:
fp.write(`
`+os.getcwd())
fp.write(`
`+os.path.splitext(file)[0])
fp.write(`
`+os.path.splitext(file)[1])
elif os.path.isfile(file):
#否則刪除檔案,tips:os.remove()函式只能刪除檔案,不能刪除資料夾
os.remove(file)
end = time.time()
return end - start
print(proposition(r`D:Python`))
Tips:將source_dir替換為自己的路徑可執行