記錄小試煉

2021-10-02 00:21:08 字數 1941 閱讀 5380

備註:

此處有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...