我想从IntelliJ IDEA中运行一个python脚本,将文件列表作为参数传递。我正在使用菜单运行>编辑配置->脚本参数来定义文件列表,使用通配符,例如:"../examples/*.jpg"
在代码中,我使用 for 循环迭代文件列表,例如
for f in sys.argv[1:]:
尽管脚本从终端执行正常,但 IDEA 抛出了一个找不到文件异常:
No such file or directory: '../examples/*.jpg'
我想这是有道理的(我的理论(,因为在将命令行参数传递给脚本之前,没有涉及将命令行参数扩展到文件列表的 shell。
这里有一个类似的问题的答案:Pycharm和sys.argv参数使用通配符的相关答案 https://stackoverflow.com/a/41003295/7521854,但它不起作用。(如果我有足够的代表,我会评论这个答案,对不起(
任何建议都会让我开心!
PS:运行OSX 10.11.6(El Capitan(
命令行参数中扩展通配符是命令行 shell/终端的功能。IDE 在启动应用程序时不使用命令行 shell,因此不会展开参数。相关请求:
- IDEA-163811 脚本参数中允许通配符