python从文件中读取数据并将值放入变量中
嘿,我需要帮助解决这个问题。我希望能够读取如下格式的文本文件:python从文件中读取数据并将值放入变量中,python,python-2.7,file,text,Python,Python 2.7,File,Text,嘿,我需要帮助解决这个问题。我希望能够读取如下格式的文本文件: test: value1 test2: value2 test3(sometimes included): value3 test: value1 test2: value2 test: value1 test2: value2 test3(sometimes included): value3 您可以看到,test3有时包含在文件中,我希望能够读取它,但不要让它与文件中的其他值混淆 为了清楚起见,我希望能够读取python中
test: value1
test2: value2
test3(sometimes included): value3
test: value1
test2: value2
test: value1
test2: value2
test3(sometimes included): value3
您可以看到,test3有时包含在文件中,我希望能够读取它,但不要让它与文件中的其他值混淆
为了清楚起见,我希望能够读取python中的文件,并将变量的值放入python中的字符串中
这是我到目前为止所拥有的(这不是我想要的,因为如果该行没有test3,它会被其他值弄乱)
由于
test
和test2
始终存在,因此不应将它们放入条件块中。还要注意的是,由于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)
我想你需要重新拆分,代码来了 进口稀土 以open(“output.txt”、“r”)作为f:
是的,它可以工作,但我想将它们添加到一个块中,以便以后使用。e、 g test1、test2、test3,我希望能够同时使用test1和test3的值。这就是为什么我在它们之间添加了空格。不幸的是,这对我不起作用。我不明白你为什么要拆分这些反斜杠。请忽略这些反斜杠,我是想逃避的:(我设法解决了我的问题,使用re.findall:)你让我走上了正确的道路,谢谢
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)
for line in f:
if "test3" not in line:
continue
items = re.split("[\(\)]", line)
if len(items) > 1:
print(items[1])