我以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)]
答案 0 :(得分:2)
在大多数Linux shell(angular.module('node', [])
.constant('gui', require('nw.gui'))
...
...
angular.module('app', ['node'])
.service('User', function ($q, gui, ...) {
...
});
,bash
,sh
,...)上,星号由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.*')