[英]How to extract filenames from cmd input in python
我正在Windows上運行一個編譯的python程序,該程序接收文件作為輸入,但是在傳遞文件名時出現問題。
foo.py:
def main():
args = sys.argv[1:]
for i in args:
print i
但是當我從命令行編譯並調用它時
\python foo.py *.html
它直接給了我*.html
的結果,我希望看到匹配字符串的列表。
任何人都可以幫助:)
您需要使用稱為glob
東西。 對於單個文件名,您正在執行的操作就可以了。 但是,如果要遍歷文件模式,請使用glob
。 它基本上是文件的正則表達式
import glob
glob.glob('*.html') #return all html files in curr dir
glob.glob('*') # lists all files in the current directory python is running in
glob.glob('*.jpg') # returns all jpeg images
glob.glob('[a-z]????.*') # lists all files starting with a letter, followed by 4 characters (numbers, letters) and any ending.
因此,就您而言-
import glob
def main():
args = sys.argv[1:]
for file in glob.glob(args):
print i
使用glob
模塊將使您能夠正確形成路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.