我需要将参数传递给 trial_id,如下所示:
trial_id [123, 412, 351, 236]
出于某种原因,在传递参数后,添加了单引号并破坏了我的代码。
Python命令是
python3 pull_t3.py 123,412,351,236
trial_ids = [sys.argv[1]]
print("trial_id", trial_ids)
版画
trial_id ['123,412,351,236']
如何删除单引号 (')?我希望 python sys 参数不变。对代码中的内容进行评分。
当你像刚才那样用参数运行文件时,你只传入了一个参数。一个字符串。这就是输出返回给你的东西。
python3 pull_t3.py 123,412,351,236
所以,如果你想传递多个参数,你可以用空格而不是逗号分隔每个参数。像这样:
python3 pull_t3.py 123 412 351 236
现在,您必须在脚本中为此进行更正: 现在你传入了多个参数,它们可以在 argv[1]、argv[2]... 等处访问。所以你可以像这样对列表进行切片:
trial_ids = sys.argv[1:]
这需要你运行文件的每个参数。
你的输出现在看起来像这样:
trial_id ['123', '412', '351', '236']
您现在将每个参数作为一个单独的String。然后,您可以使用如下列表理解轻松地将列表中的所有元素转换为 ints:
trial_ids = [int(i) for i in trial_ids]
希望能解决您的问题