python从文件读取数据并将值放入变量

时间:2018-07-10 02:04:12

标签: python python-2.7 file text

嘿stackoverflow我需要有关此问题的帮助。我希望能够读取格式如下的文本文件:

test: value1
test2: value2
test3(sometimes included): value3

test: value1
test2: value2

test: value1
test2: value2
test3(sometimes included): value3

您看到test3有时包含在文件中,我希望能够读取它,但又不想使其与文件中的其他值混淆。

只是为了使其完全清楚,我希望能够在python中读取文件并将变量的值放入python中的字符串中。

这是我到目前为止所拥有的(这不是我想要的,因为如果该行没有test3,它将被其他值所破坏)

file = open("output.txt").readlines()

with line in file:
    if "test3" in line:
        test = find_between(...)
        test2 = find_between(...)
        test3 = find_between(...)
        ... 

2 个答案:

答案 0 :(得分:0)

由于testtest2始终存在,因此您不应将它们放入条件块中。还要注意,由于test3是可选的,因此最好使用None对其进行初始化,然后在将其用于某物时测试它是否不是None

file = open("output.txt").readlines()

with line in file:
    test = find_between(...)
    test2 = find_between(...)
    test3 = None
    if "test3" in line:
        test3 = find_between(...)
    ...
    if test3 is not None:
        do_something(test3)

答案 1 :(得分:0)

我认为您需要重新拆分,代码如下。

重新导入

以open(“ output.txt”,“ r”)作为f:

    for line in f:
        if "test3" not in line:
            continue

        items = re.split("[\(\)]", line)
        if len(items) > 1:
            print(items[1])