从脚本python中设置的变量批量设置多个变量

时间:2016-12-15 16:49:43

标签: python batch-file variables set

在批处理中,我需要读取一个用python编写的配置文件,其中包含我需要在批处理脚本中设置的多个变量!

例如:(变量take只是示例,值可以是整数,路径,...)

config.py

import time, os
VERSION= "20160801"
PATH = os.getcwd()
...

script.bat

SET VERSION= need to get VERSION variable from config.py
SET PATH =  need to get PATH variable from config.py

我找到了这个解决方案:

%PYTHON_PATH% -c "import config;print config.VERSION" > output
set /p CURRENT_VERSION=<output

但它只对一个变量起作用,我需要设置大约30个变量,有一种方法可以更快地完成此操作而无需每次都导入config.py吗?

为什么我能这样做:

%PYTHON_PATH% -c "import config;print config.VERSION;print config.PATH" > version,path
set CURRENT_VERSION=version
set PATH=path

由于

1 个答案:

答案 0 :(得分:1)

<dependencies>
    <dependency>
        <groupId>com.google.cloud</groupId>
        <artifactId>google-cloud-pubsub</artifactId>
        <version>0.8.0</version>
    </dependency>
</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
            <executions>
                <execution>
                    <id>assemble-all</id>
                    <phase>package</phase>
                    <goals>
                        <goal>single</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

<强> BUT:
for /f "tokens=*" %%a in ('type config.py^|find "="') do set %%a 不会忽略空格,因此在您的示例中,它会创建一个名为set的变量( 不好,因为%path %是一个必要的系统变量。改变它会导致意想不到的行为。)

你真的应该告诉phyton写这些没有空格的行...(并注意不要使用对windows来说必不可少的变量名)