【发布时间】:2018-03-23 19:04:06
【问题描述】:
text_file = open("BIGBLUE.txt", "r")
lines = text_file.readlines()
target = open ("function_1.txt", "a+")
counter = 1
for line in lines :
if line[0:29] == "(* @NESTEDCOMMENTS := 'Yes' *)":
target = open("function_" + str(counter) + ".txt", "a+")
counter++
print(line)
target.write(line)
我的目标是使用 (* @NESTEDCOMMENTS := 'Yes' *) 作为字符串分隔符将一个巨大的文本文件拆分为多个文件。
我的意图是: 打开文件 在 for 循环中一次读取一行 如果前 30 个字符是 (* @NESTEDCOMMENTS := 'Yes' *),我想创建一个名为 function_#.txt 的新文件。 然后将整行复制到目标文件。
仅在遇到密钥字符串时创建新文件,并将所有行复制到该文件,直到遇到另一个密钥字符串。
它目前正在窃听
target = open("function_" + str(counter) + ".txt", "a+")
编译器说“制表符和空格的使用不一致”
任何指针?
【问题讨论】:
-
open ("function_1.txt", "a+") 之间的额外空间
-
考虑使用
awk,它支持使用任何字符串或正则表达式作为分隔符。