所以我有一个类似于这个的.txt文件:
Patient Name : John Don, 9989
Patient ID : 9989
Comment : Summation
Date : 09.08.2017
Exported by : Denver
Type : DVH
Description : Some random text
我还有另一个列表,其中包含我想要使用的名称。
所以基本上,我在不同文件夹中有几个这样的.txt文件,这些文件名与我在列表中的名称相同,fx:
name_list = ["1", "1_NEW", "2", "3", "3_RE"]
我想要做的是将Patient name
和Patient ID
的值更改为列表中的任何内容。
因此,例如,对于列表中的第一个元素,它打开具有相同名称的文件夹,然后打开该文件夹中的.txt文件(始终使用相同的名称),读取.txt文件,然后更改Patient name
和Patient ID
之后的值到列表的值。所以对于第一个我最终会:
Patient Name : 1
Patient ID : 1
Comment : Summation
Date : 09.08.2017
Exported by : Denver
Type : DVH
Description : Some random text
可以这样做吗?
答案 0 :(得分:1)
很公道,这是一个你可以使用的代码示例:
请注意,因为这可能会覆盖文件(尝试使用一个文件)
for file in ["1"]:
# Read file
with open("{0}/{0}.txt".format(file)) as f:
filecontent = [i.strip("\n") for i in f.readlines()]
# Update first and second row
filecontent[0] = filecontent[0].split(":")[0] + ": {}".format(file)
filecontent[1] = filecontent[1].split(":")[0] + ": {}".format(file)
# Ovewrite old file and write
with open("{0}/{0}.txt".format(file), "w") as f:
string = '\n'.join(filecontent)
f.write(string)
# print(string)