本來想偷懶不做這題,感覺好麻煩,就上網找找答案。
結果沒有滿意的,還是自己寫乙個吧。
相較於一位網上同學的答案,此**亮點在』%03d』和zip()函式的使用,還有任務拆分清晰。
做了個把小時的,**還算滿意,就作為第一篇部落格,激勵下自己繼續努力。
如有錯誤,請指出以相互學習,多謝!
#! python3
# complete the filename that contain sequence like』spam001』,』spam003』
# folder named 『spam』 which contains files [『abc001.txt』, 『abc003.txt』, 『abc004.txt』, 『abc006.txt』, 『abc007.txt』, 『abcabc.txt』]
import os, re, shutil
os.chdir('spam')
# 找到指定資料夾中所有帶指定字首的檔案
# look for the particular word in filename
o_filenames = [x for x in os.listdir('.') if '.' in x and x.startswith('abc')]
print(o_filenames)
# 定位缺失的編號
# locate the missing num
numregex = re.compile(r'^abc(.*?).txt$')
o_num_list =
for o_filename in o_filenames:
t_name_re = numregex.search(o_filename)
print(o_num_list)
n_num_list =
for i in range(1,len(o_num_list)+1):
t_i = '%03d' % i
print(n_num_list)
for i in n_num_list:
if i not in o_num_list:
print("abc%s.txt" % i)
# 對檔案改名以消除缺失的編號
# rename all files to complete the sequence
for i,v in zip(o_num_list, n_num_list):
shutil.move('abc%s.txt'%i, 'abc%s.txt'%v)
print('rename project is done!')
Python程式設計快速上手第 1,2,3 章
第1章python 基礎 python 3.3 2 v3.3.2 d047928ae3f6,may 16 2013,00 06 53 msc v.1600 64 bit amd64 on win32 credits or license for more information.2 24 int 4...
python程式設計快速上手 第11章實踐專案答案
11.3 2048 2048是乙個簡單的遊戲,通過箭頭向上 下 左 右滑動,讓滑塊合併。實際上,你可以通過一遍遍的重複 上下左右 模式,獲得相當高的分數。編寫乙個程式,開啟上的遊戲,不斷傳送上下左右按鍵,自動玩遊戲 from selenium import webdriver from seleni...
python程式設計快速上手 第4章實踐專案答案
4.10.1逗號 假定有下面這樣的列表 def joinspam spam i len spam 1 spam i and str spam i str1 print str1.join spam 4.10.2 字元圖網格 假定有乙個巢狀列表,記憶體列表的每乙個值都是包含乙個字元的字串,像這樣 gr...