我从文件读取配置文件时遇到问题。
它看起来很基本,但是由于我是python新手,所以我缺少了一些东西。

配置文件如下所示

CCWD_HOME=/batch/ccwd
#Temporary location for daemon job listing
CCWD_TEMP=/tmp
#Directory for job definitions
CCWD_PROD=/batch/PRD


问题在于该文件的语法必须保持这种方式。
将字符串分配给变量需要配额标记(“”)。
有没有一种简单可行的方法可以从上述配置文件中读取变量?
例如我有剧本

#!/bin/python
import conf
print CCWD_TEMP


并得到了这个错误

Traceback (most recent call last):
  File "./testconf", line 2, in <module>
    import conf
  File "/app/test/conf.py", line 6
    CCWD_HOME=/batch/ccwd
              ^
SyntaxError: invalid syntax

最佳答案

看来您正在尝试import配置文件。但是您不能这样做:import用于导入Python模块,因此导入的文件应该是有效的Python,而CCWD_HOME=/batch/ccwd不是。这就是语法错误的含义。

您可以使用模块configparser来读取文件,但是它要求将设置分组在方括号中以节名称开头的节中,如下所示:

[MyStuff]
CCWD_HOME=/batch/ccwd
#Temporary location for daemon job listing
CCWD_TEMP=/tmp
#Directory for job definitions
CCWD_PROD=/batch/PRD


如果您无法更改配置文件,则必须自己解析。

with open("./testconf") as configs:
    for config in configs:
        if config.startswith("#"):
            continue
        keyword, value = config.split("=")

09-11 18:33