備註:
此處有2000+條qcn,每個qcn裡有乙個唯一的sn號
同樣有個sn_number.txt檔案,其中記錄200+個sn號
問題:要求從2000+條qcn中,找出具有sn對應的qcn檔案,並將qcn檔案以sn號重新命名
方法:
用python指令碼實現,引入os,shutil模組
實現方法:
這裡在實現過程中有個問題:
import os, shutil
from os.path import
*def
open_qcn
(sn, path_file)
: dirs = os.listdir(path_file)
for file_name in dirs:
with
open
(path_file +
'\\'
+ file_name,
'rb'
)as file_object:
contents = file_object.read(
).decode(
"gbk"
,'ignore'
)if sn not
in contents:
print
(sn +
' mismatch'
)continue
else
:print
(sn +
' '+ file_name)
txt_write(sn +
' '+ file_name +
'\n'
,path_file) n
qcn_file=path_file +
'\\'
+ sn +
'.qcn'
if os.path.exists(qcn_file)
==false
: shutil.move(path_file +
'\\'
+ file_name, qcn_file)
deftxt_write
(type
,path)
: filename= path+r'\test.txt'
file
=open
(filename,
'a')
file
.write(
type
)file
.close(
)def
main()
: dir_path = dirname(abspath(__file__)
) path = dir_path + r'\1'
#print(dir_path)
sn_number = dir_path +
'\sn_number.txt'
with
open
(sn_number,
'r')
as file_obj:
while
true
: line_number = file_obj.readline()if
not line_number:
break
else
: open_qcn(line_number.strip(
), path)
if __name__ ==
'__main__'
: main(
)
總結:記錄一下瞎搞的過程,感覺寫的就是一坨,holy ****! 狸貓的面試 鍊錶
1.找出鍊錶的中間元素 解法 鍊錶的特點是容易增刪,難於隨機訪問。如果按照常規的想法 1 遍歷鍊錶,獲取長度 2 從頭走1 2步 但是這種方式會需要o 1.5n 可以採用如下方式 兩個人賽跑,如果a的速度是b的兩倍,則當a到達終點時,b則剛到中點。這樣,只需要遍歷一遍即可。2.鍊錶的排序 解法 排序...
校園網試煉 登出
今天就是小雪了,淮河以北已經開始降溫,宿舍6個人的熱氣加上暖氣,實在是不能再舒服,宿舍裡頭穿一件,出宿舍門穿兩件,出宿舍樓穿羽絨服,出學校 哦不這學期學校都不會解封。回到正題,在校園網不收錢的時候就已經嘗試過對校園網自動登入 佔線 登出等功能。用python實現起來也簡單,簡單的指令碼無非就是發包。...
容器 模版小試
include include include include using namespace std template typename iterator traits value type findmost iterator left,iterator right else 遍歷 map ite...