Python sys.argv 去除单引号 (')

问题描述 投票:0回答:1

我需要将参数传递给 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 参数不变。对代码中的内容进行评分。

python-3.8 sys
1个回答
0
投票

当你像刚才那样用参数运行文件时,你只传入了一个参数。一个字符串。这就是输出返回给你的东西。

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]

希望能解决您的问题

© www.soinside.com 2019 - 2024. All rights reserved.