如何将整数设置为环境变量?

use*_*069 1 python windows batch-file

我试图设置一个环境变量,如下所示,但是行有一个整数变量并运行到以下错误,如何解决这个问题?还是有更好的方法来使用python设置环境变量

row = 399
os.environ['BUILD_VER'] = row
Run Code Online (Sandbox Code Playgroud)

错误:-

    os.environ['BUILD_VER'] = row
  File "C:\Python27\lib\os.py", line 420, in __setitem__
    putenv(key, item)
TypeError: must be string, not int
Run Code Online (Sandbox Code Playgroud)

Gab*_*abe 6

环境变量只能包含字符串值.你必须做这样的事情:

os.environ['BUILD_VER'] = str(row)
Run Code Online (Sandbox Code Playgroud)

但是,您必须了解您设置的任何环境变量只会对Python进程及其设置后生成的任何进程生效.

例如,您不能使用Python从shell脚本设置环境变量,因为shell会生成Python,Python无法为生成它的shell设置环境变量.

如果您尝试将Windows环境变量设置为您在Python中生成的值,则应该有一个Python脚本来打印该值并让您的批处理文件执行该脚本.假设您的脚本getver.py如下所示:

row = 399
print row
Run Code Online (Sandbox Code Playgroud)

然后您的批处理文件将包含这样的内容:

FOR /F %v IN ('getver.py') DO SET BUILD_VER=%v
Run Code Online (Sandbox Code Playgroud)