簡體   English   中英

Linux和python中的高級文件處理

[英]Advanced File handling in linux and python

我有一段代碼可以在Python文件中進行一些更改。 我希望對一個文件夾的多個文件執行該操作。 我編寫了以下代碼來做到這一點:

import re import os files = os.listdir(“ / home / intucell / tarfiles”)用於文件中的文件:fp =打開(file,'r')for fp中的行:print(line.replace('4.0.0' ,'5.0.0'))f.close()

我希望代碼在名為tarfiles的文件夾中針對多個文件運行。 這些文件的名稱必須從該文件夾的列表中讀取。 但是,Linux不會讀取包含空格的文件名。 我大約有100個文件,文件名中包含空格。 我該怎么辦?

假設您具有要處理的文件列表文件filelist ,則可以簡單地使用:

import re
for filename in filelist:
    fp = open (filename, 'r') 
    for line in fp: print(line.replace (' 4.0.0 ', ' 5.0.0 '))
         print(re.sub(r'\b4.0.0[^.]', '5.0.0 ', line))`

還是需要在文件夾中查找文件?

您可以為此使用for循環。 例如

import os
item_list = next(os.walk(your_directory_path))[1]
for i in item_list:
     fp = open (str(i), 'r')
     for line in fp: print(line.replace (' 4.0.0 ', ' 5.0.0 '))
         print(re.sub(r'\b4.0.0[^.]', '5.0.0 ', line))

我希望這會有所幫助

您可以使用os.listdir,假設要更改的多個文件位於path變量中存儲的文件夾中,然后:

files = os.listdir(path)
for _file in files:
    fp = open (_file, 'r')
    for line in fp:
        print(line.replace (' 4.0.0 ', ' 5.0.0 '))
        print(re.sub(r'\b4.0.0[^.]', '5.0.0 ', line))

編輯:也不要忘記import os

暫無
暫無

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

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