You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python命令行乘法运算失效问题求助

乘法运算参数异常的原因与解决办法

问题原因

你遇到的问题是Shell通配符扩展导致的:在类Unix系统的Shell环境中,*是特殊通配符,会被自动替换为当前目录下所有非隐藏的文件和目录名称。当你执行./100-my_calculator.py 10 * 2时,Shell在启动Python脚本前就把*替换成了当前目录的文件列表,所以脚本的sys.argv接收到的不是*,而是这些文件名,最终出现不符合预期的输出。

而+、-、/不属于Shell通配符,不会被自动扩展,所以其他运算能正常工作。

解决办法

有两种方式可以避免Shell扩展*:

  • 用单引号或双引号包裹*,让Shell把它当作普通字符串处理:
    ./100-my_calculator.py 10 '*' 2
    # 或者
    ./100-my_calculator.py 10 "*" 2
    
  • 用反斜杠\对*进行转义,屏蔽其通配符特性:
    ./100-my_calculator.py 10 \* 2
    

执行上述任意一种命令后,脚本的sys.argv就能正确获取到*作为运算符参数,乘法运算即可正常执行。

内容的提问来源于stack exchange,提问作者MefDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 10:52:04