《python程式設計快速上手》第9章 作業9 8 3

2021-08-08 11:20:23 字數 1322 閱讀 7673

本來想偷懶不做這題,感覺好麻煩,就上網找找答案。

結果沒有滿意的,還是自己寫乙個吧。

相較於一位網上同學的答案,此**亮點在』%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...