gpt4 book ai didi

python - 在 bash 脚本中调用 python 脚本会更改变量的类型

转载 作者:太空宇宙 更新时间:2023-11-03 13:28:44 26 4
gpt4 key购买 nike

我有一个 python 脚本,它在某一时刻执行除法。当我从命令行正常运行脚本时,它将数字视为 float ,并执行正确的除法。即

a = 2 
b = 5
print(a/b)
>0.4

我还编写了一个 bash 脚本,除其他外,它运行相同的 python 脚本。当我运行这个 bash 脚本时,python 将数字视为整数,执行整数除法,然后返回零。为什么会这样?

a = 2 
b = 5
print(a/b)
>0

编辑:

python脚本

#!/usr/bin/python3

import sys
a = 2
b = 5
print(sys.version)
print(a/b)

>3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609]
0.4

bash 脚本

python stack.py

>2.7.12 (default, Dec 4 2017, 14:50:18)
[GCC 5.4.0 20160609]
0

最佳答案

在脚本顶部添加 shebang 行:

#!/usr/bin/python3

这将确保您在从 shell 运行时获得一致的 Python 版本。如果没有这个,bash 似乎使用的是 Python2,默认情况下整数除法给出整数结果。

关于python - 在 bash 脚本中调用 python 脚本会更改变量的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50970475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com