【发布时间】:2019-06-18 18:20:39
【问题描述】:
我希望能够打开一个文件,找到一个特定的字符串,然后将一个字符串附加到该特定的行。
到目前为止,我有:
import errno
import glob
path = '/path/to/key_files/*.txt'
SubjectName = 'predetermined'
files = glob.glob(path)
for filename in files:
try:
with open(filename, 'r+') as f:
for line in f:
if SubjectName in line:
print(line)
except IOError as exc:
if exc.errno != errno.EISDIR:
raise
它从包含我指定的字符串的文本文件中打印一行,所以我知道所有代码都可以定位正确的行。我现在想将字符串 ',--processed\n' 添加到定位行的末尾,而不是将其附加到文件的最后。有没有办法做到这一点?
【问题讨论】:
-
@tgikal 有点像,但我不想插入新行,我想添加到现有行。这可能是相同的解决方案,但对我来说似乎有点不同!
-
插入或追加只是修改文件数据中特定位置的数据,是同一个操作。在所选答案stackoverflow.com/a/10507291/4777984 中,您将使用
contents[index] = contents[index].strip('\n') + ',--processed\n'而不是contents.insert(index, value)。
标签: python string append text-files line