亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python - 打開文件夾中的所有 .txt 并檢查匹配變量的行

Python - 打開文件夾中的所有 .txt 并檢查匹配變量的行

米脂 2023-03-22 17:02:58
我有一個 keys1.txt、keys2.txt、keys3.txt 和 keys4.txt 我的程序需要輸入類似ABC123我必須通過程序檢查 keys1.txt 是否有該輸入的行。如果沒有,它會轉到 keys2.txt 等。該文件必須檢索 txt 文件的名稱,名稱不能是源代碼上的硬編碼。如果我對文件名進行硬編碼,我知道如何執行此操作,但在這種情況下無法完成。目前我讓它檢查文件名并將它們放在列表中并打開所有文件。我確實在檢查我的密鑰是否屬于任何文件時遇到問題,如果是,則要了解它屬于哪個文件。file_list = next(os.walk("Keys"))[2]    print(file_list)    for filename in file_list:        with open("Keys" + filename) as f_obj:            f_obj所有的文件看起來像QWE123ASY981ASD192...
查看完整描述

3 回答

?
陪伴而非守候

TA貢獻1757條經驗 獲得超8個贊

如果您需要打開這些文件但不能將它們硬編碼到程序中,您可能必須將它們作為命令行參數獲取。然后你可以像這樣執行你的程序:

$?python?code.py?ABC123?keys1.txt?keys2.txt?keys3.txt


查看完整回答
反對 回復 2023-03-22
?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

遍歷每個 .txt 文件和該文件中的行(您尚未指定這些 txt 文件的外觀)。檢查與各種方法的匹配,我需要更多詳細信息以及您到目前為止嘗試提供的幫助。



查看完整回答
反對 回復 2023-03-22
?
子衿沉夜

TA貢獻1828條經驗 獲得超3個贊

您可以使用os.listdir它來獲取隨后將遍歷的文件列表。


參考: https: //docs.python.org/3/library/os.html#os.listdir


files_list = os.listdir('/path/to/keys')  # ['keys1.txt', ...]

search_string = 'ABC1234'

found = False


for file in files_list:

    if found:

        break

    with open(file, 'r') as fo:

        for line in fo:

            if line == search_string:

                found = file

                break


print(f'Found line `{search_string}` in file `{found}`.}


查看完整回答
反對 回復 2023-03-22
  • 3 回答
  • 0 關注
  • 190 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號