提问人:wannabeunstuck 提问时间:8/5/2023 最后编辑:wannabeunstuck 更新时间:8/7/2023 访问量:93
导入 sys 和 sys.argv 在 VS Code 终端中没有响应 [duplicate]
Import sys and sys.argv Not Responsive in VS Code Terminal [duplicate]
问:
编辑(07/08/2023)
我是编码新手,错误地使用了终端/代码,不明白我做错了什么。现在解决了,吸取了教训。
如果您发现自己处于类似的位置,请使用以下命令调用代码:Python 文件名 .py 1 4 5 67(在第一行中输入数字/参数以及调用命令),然后它将起作用。
谢谢大家。
原帖 -
我在通过终端与脚本交互时遇到了问题。
我的代码如下:
import sys
total = 1
del(sys.argv[0])
for argument in sys.argv:
try:
number = float(argument)
total *= number
except Exception as e:
print(e)
print("Only numbers can be provided")
sys.exit(1)
print(total)
我应该能够在终端中输入数字,然后使用这些数字乘以总数,然后打印乘以的值。但是,当我在终端中输入单个整数时,它只打印整数,当我输入多个数字时,它会打印这些数字并且不进行乘法。
它在命令提示符下也不起作用。
我无法让 sys 相关元素在其他代码中工作,我用谷歌搜索了一个又一个错误,但我找不到解决方案。有什么想法吗?
我希望终端中输入的数字将总数变量中的数字相乘,然后在终端中打印,然后在终端中输入更多数字以将更新的变量总数相乘。
我应该能够在没有逗号的情况下输入多个数字,但它不起作用。
答:
0赞
Code-Apprentice
8/5/2023
#1
看起来你正在 Powershell 中将数字作为单独的命令键入。这意味着 Powershell 会直接解释它们,并且不会运行 python 代码。键入时的错误消息证实了这一点。这是 Powershell 错误,而不是 python 错误。1 7 6 8
相反,您需要将它们与正在运行的程序放在同一行上,以便将它们发送到您的 python 脚本:
C:\> python __.py 1 2 3 4 5
我建议您阅读有关命令行参数如何工作的更多信息,因为您似乎错误地使用了它们。
下一个:从不同的数据包导入函数
评论
> python3 __.py
> 1 7 6 8
python __.py 1 7 8 9
__.py
del(sys.argv[0])
for argument in sys.argv[1:]: