簡體   English   中英

如何從目錄中輸入多個文件

[英]How to input multiple files from a directory

首先,我最近剛接觸Unix,我試圖在線找到我的問題的解決方案,但我找不到解決方案。

所以我通過我的Unix終端運行Python ,我有一個解析xml文件的程序,並將結果輸入到.dat文件中。

我的程序有效,但我必須單獨輸入每個xml文件(數量超過50 )。

例如:

clamshell: python3 my_parser2.py 'items-0.xml' 'items-1.xml' 'items-2.xml' 'items-3.xml' .....`

所以我想知道是否可以從目錄中讀取,其中包含我的所有文件到我的程序中? 而不是單獨鍵入所有xml文件名並以這種方式運行程序。

非常感謝任何幫助。

python3 my_parser2.py *.xml應該可以工作。

shell本身可以擴展通配符,因此,如果您不關心輸入文件的順序,只需使用:

python3 my_parser2.py items-*.xml

如果數字順序重要(您想0..910-99等的順序,您可能需要稍微調整通配符的參數,以保證這一點,如用:

python3 my_parser2.py items-[0-9].xml items-[1-9][0-9].xml items-[1-9][0-9][0-9].xml

除了命令行選項之外,您可以在腳本中使用glob並繞過命令參數的需要:

import glob 
filenames = glob.glob("*.xml")

這將返回運行腳本的目錄中的所有.xml文件(作為文件名)。

然后,如果需要,您可以使用基本循環遍歷所有文件:

for file in filenames:
    with open(file, 'r') as f:
        # do stuff to f.
import glob

listOffiles = glob.glob('directory/*.xml')

暫無
暫無

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

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