VS Code终端中sys与sys.argv无响应问题求助
解决sys.argv调用脚本的参数传递问题
已验证的正确调用方式
作为编程新手,我此前错误使用终端和代码,现已解决问题并吸取经验。若你遇到类似情况,请按如下方式调用代码:Python filename.py 1 4 5 67
将数字/参数与调用命令输入在同一行,即可正常运行。
原问题分析
原帖中遇到的问题,核心是对sys.argv的用法理解有误:
我在通过终端运行脚本时遇到问题。输入单个整数时仅输出该整数,输入多个数字时仅输出数字而不执行乘法,且其他代码中也无法正常使用sys相关功能。预期是终端输入的数字与total变量相乘后输出,后续输入的数字继续与更新后的total相乘,无需逗号分隔多个数字,但实际无法实现。
你的代码逻辑本身是正确的:
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.argv是用来读取启动脚本时在命令行附带的参数,不是运行脚本后再交互式输入的内容。如果先运行Python filename.py,之后再输入数字,这些数字不会被sys.argv捕获,自然无法执行乘法逻辑。
内容的提问来源于stack exchange,提问作者wannabeunstuck
相关产品推荐
相关产品推荐

