簡體   English   中英

如何從python中的cmd輸入中提取文件名

[英]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.

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