在写一个 py 脚本的时候,需要从命令行里面带参数进来,指明需要处理的文件名,这个地方,希望支持 shell 那种 * 的通配符,查了一下,有相关的库,看这里,https://docs.python.org/2/libr…
但是,按照这种搞法,跑起来之后发现不行,glob.glob(sys.argv[2]) 总是只返回一个文件名,查了一下,看到这里,http://stackoverflow.com/quest…
原来,是我们在使用 shell 的时候,在 * 送给到 py 脚本之前,就已经被展开了,那么怎么办呢,原题给了一个方式,说用引号引起来,不过还有另外一种方式,可以遍历 sys.argv 数组
if __name__ == "__main__": if len(sys.argv) < 3: print "Usage:", sys.argv[0], "path_to_ini path_to_dump_file" else: for path_to_dump in sys.argv[2:]: if os.path.isdir(path_to_dump): print path_to_dump, "is a directory, skip..." else: split(sys.argv[1], path_to_dump)