Pycharm和sys.argv参数

YKY*_*YKY 74 python linux pycharm

我正在尝试调试一个以命令行参数作为输入的脚本.参数是同一目录中的文本文件.脚本从sys.argv列表中获取文件名.我的问题是我无法在pycharm中使用参数启动脚本.

我试图在"运行">"编辑配置"菜单中的"脚本参数"字段中输入参数,如下所示:

-s'file1.txt', -s'file2.txt'
Run Code Online (Sandbox Code Playgroud)

但它没有用.如何使用参数启动脚本?

PS我在Ubuntu上

Jim*_*ard 97

在PyCharm中,参数是Script Parameters按照你的方式添加的,但它们用双引号括起来 "",而不指定解释器标志-s.这些标志在Interpreter options框中指定.

脚本参数框内容:

"file1.txt" "file2.txt"
Run Code Online (Sandbox Code Playgroud)

Interpeter标志:

-s
Run Code Online (Sandbox Code Playgroud)

或者,视觉上:

在此输入图像描述

然后,用一个简单的测试文件来评估:

if __name__ == "__main__":
    import sys
    print(sys.argv)
Run Code Online (Sandbox Code Playgroud)

我们得到了我们提供的参数(sys.argv[0]当然要保存脚本名称):

['/Path/to/current/folder/test.py', 'file1.txt', 'file2.txt']
Run Code Online (Sandbox Code Playgroud)

  • 这很有帮助; 但为了澄清,我的python脚本将两个文件名作为参数,一个用于-r,一个用于-s(或两者或一个或两者都不).所以我的脚本参数指定为[-p"prof_samples.txt"-r"resp_samples.txt"],没有解释器选项. (3认同)
  • 我认为这个答案已经过时了,因为没有"脚本参数" (2认同)

tis*_*rum 63

为了那些想知道如何到达这个窗口的人.这是如何做:

您可以通过单击Select Run/Debug Configurations(左侧)来访问它在此输入图像描述并且去了Edit Configurations.为清晰起见提供了gif.

在此输入图像描述

  • 这个短片确实很有帮助——谢谢!这就是我讨厌 gui 的原因。这就像寻找复活节彩蛋,而你只需在命令行中输入它即可。 (3认同)
  • 这比最佳投票更有帮助。谢谢! (2认同)

Gio*_*ous 18

在 PyCharm社区或专业版 2019.1+ 上

  1. 从菜单栏中单击运行->编辑配置
  2. 在“参数”文本框中添加您的参数(例如file2.txt file3.txt, 或--myFlag myArg --anotherFlag mySecondArg
  3. 点击应用
  4. 单击确定


Pau*_*ler 9

除了Jim的回答(抱歉没有足够的重复点来发表评论),只是想指出PyCharm中指定的参数没有转义特殊字符,这与你在命令行中所做的不同.所以,在命令行上你会这样做:

python mediadb.py  /media/paul/New\ Volume/Users/paul/Documents/spinmaster/\*.png
Run Code Online (Sandbox Code Playgroud)

PyCharm参数将是:

"/media/paul/New Volume/Users/paul/Documents/spinmaster/*.png"
Run Code Online (Sandbox Code Playgroud)


Jan*_*nar 5

请注意,由于某些未知原因,无法在 PyCharm Edu 版本中添加命令行参数。它只能在专业版和社区版中完成。