簡體   English   中英

Python:比較文件的第一行並保存其路徑

[英]Python: Compare first line of files and save their path

我正在嘗試讓我的腳本讀取父文件夾中每個文件的第一行以查找標志,因此它知道以后如何處理它們。 這段代碼確實讀取了每個文件的第一行(我檢查過打印它們),但是if語句不起作用。

for file in os.listdir(".."):
        if file.endswith('.txt'):
            with open(os.path.join('..\\',file)) as tempfile:
                if tempfile.readline().strip() == '//Q':
                    QFile = os.path.join('..\\',file)
                if tempfile.readline().strip() == '//H':
                    HFile = os.path.join('..\\',file)

我不確定這是否是以后保存路徑的正確方法,但是問題在於if d,因為即使其中的文件正在正確讀取,它們中的print語句(此處未包括)也不會被觸發。 打印它們的readline.strip()值,按預期顯示標志。

現在,測試文件是簡單的.txt文件,第一行帶有//Q//H ,以及一堆東西,這些東西隨后將進行排序和存儲。

我認為您的問題在於讀取文件的前行: //H比較會提高文件描述符的速度。 同樣,您假定該標志是整行。 相反...

with open(os.path.join('..\\',file)) as tempfile:
    first_line = tempfile.readline().strip()
    if '//Q' in first_line:
        QFile = os.path.join('..\\',file)
    elif '//H' in first_line:
        HFile = os.path.join('..\\',file)

可以滿足您的需求嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM