我想得到一个在运行以下 ( )后arg.pics返回类似['pic1.png', 'pic2.png', 'pic3.png'](任意解析 .png 格式的所有文件) 的内容test.py:import argparseimport osdef parser_arg(): par = argparse.ArgumentParser() parser = par.add_argument_group('pictures') parser.add_argument("-p", "--pics", nargs="+", help="picture files", required=True) arguments = par.parse_args() return argumentsargs = parser_arg()并通过命令行运行脚本,并输入python test.py -p ../User/Desktop/Data/*.png然后args.pics返回['../User/Desktop/Data/*.png']。我是否使用了正确的方法?我听说 using*.png将在输入后扩展为 .png 文件,但在我看来情况并非如此。编辑:如果有帮助,我将在 Windows 10 上使用 Anaconda Prompt。
2 回答
慕仙森
TA贡献1827条经验 获得超7个赞
你的方法是正确的。但是,如果您的 shell 支持通配符并且模式实际上与任何文件匹配,则您的脚本只会接收扩展的文件列表作为参数。否则,在大多数情况下,它将是模式本身。
Anaconda 命令提示符cmd.exe
默认使用,不支持通配符扩展。您可以改用PowerShell,它可以理解通配符。或者,您可以按照 Mad Physicist's answer 中所述在您的应用程序中进行扩展。
添加回答
举报
0/150
提交
取消