2014-10-03 137 views
0

使用水珠所有用戶指定文件,這就是我要完成的: 在我的目錄,有許多文件,但都遵循一個格式如何列出蟒蛇

aaa001 aaa002 aaa003 bbb001 bbb002 bbb003 ccc001 ccc002 ccc003 等

我想要做的就是在「文件的家族」,一個用戶指定,這意味着,我將讀取用戶的輸入,以他們想要哪個文件系列(例如,如果用戶輸入AAA,我想列出aaa001,aaa002,aaa003)

我試圖使用/運行命令

files = glob.glob("%userInput.*\.csv") 

userInput是我使用的存儲變量用戶的選擇。

但是,它似乎沒有得到任何東西,這意味着我沒有正確使用命令語法。有人可以闡明我做錯了什麼嗎?謝謝。

回答

1

有一箇舊(2.x的)字符串格式化認爲是這樣的伎倆:

files = glob.glob("%s*.csv" % userInput) 

在巨蟒(特別是3.X)的新版本你想要的東西,如:

files = glob.glob("{}*.csv".format(userInput)) 
+0

的第二個例子應該使用Python 2.7+(實際上可能是2.6+,因爲它使用了明確的位置參數說明符),並且可以簡化爲「{} * .csv」.format(userInput)'。 – dano 2014-10-03 22:59:32

+0

感謝您的澄清,@dano;字符串格式的改變是我嘗試將自己轉換爲Python 3的最大障礙之一,而且我顯然還沒有真正設法掌握它們。 – TML 2014-10-03 23:02:41

+0

@TML絕對沒有理由避免經典格式。根據哪個更適合給定的任務來選擇使用哪一個。儘管如此,我更喜歡使用命名參數的新樣式。 – o11c 2014-10-03 23:10:09