Python argv采取外卡路径

时间:2017-07-26 14:30:13

标签: python python-2.7 glob

我以doc1/*.png作为第一个参数运行我的脚本,但它转换为doc1/image1.png

我怎样才能让Python看到确切的参数?

img_list = []
print sys.argv[1]
x = sys.argv[1]
img_list = [img for img in glob.glob(x)]

2 个答案:

答案 0 :(得分:2)

在大多数Linux shell(angular.module('node', []) .constant('gui', require('nw.gui')) ... ... angular.module('app', ['node']) .service('User', function ($q, gui, ...) { ... }); bashsh,...)上,星号由shell处理。 fish转换为文件列表的事实已在shell级别完成。

如果你写:

*

shell本身会将python file.py doc/*.png 转换为doc/*.png(因此它会在"doc/1.png" "doc/2.png"目录中找到.png个文件的列表。

您应使用引号传递星号,例如:

doc

标准Windows shell 为文件名执行通配符。

答案 1 :(得分:0)

正如@Jean-FrançoisFabre所说,可以使用glob模块在Windows上使用通配符。

import glob
paths = glob.glob('C:\path\with\wildcard.*')