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