将文本插入行尾 python
Inserting text to end of line python
我想在循环内将一些文本附加到文本文件中特定行的末尾。
到目前为止,我有以下内容:
batch = ['1', '2', '3', '4', '5']
list = ['A', 'B', 'C']
for i in list:
for j in batch:
os.chdir("/" + i + "/folder_" + j + "/")
file = "script.txt"
MD = "TEXT"
with open(file) as templist:
templ = templist.read().splitlines()
for line in templ:
if line.startswith("YELLOW"):
line += str(MD)
我是 python 的新手。你能帮忙吗?
编辑:我根据(很好的)建议更新了我的脚本,但它仍然没有改变我的台词。
这将进行字符串连接:
line += str(MD)
这里有一些 more documentation on the operators,因为 python 支持赋值运算符。 a += b
等同于:a = a + b
。在 python 中,与在某些其他语言中一样,+=
赋值运算符执行:
Add AND assignment operator, It adds right operand to the left operand and assign the result to left operand
你说的大部分是对的,但正如你所指出的,字符串没有追加函数。在前面的代码中,您将字符串与 + 运算符组合在一起。你可以在这里做同样的事情。
batch = ['1', '2', '3', '4', '5']
list = ['A', 'B', 'C']
for i in list:
for j in batch:
os.chdir("/" + i + "/folder_" + j + "/")
file = "script.txt"
MD = "TEXT"
with open(file) as templist:
templ = templist.read().splitlines()
for line in templ:
if line.startswith("YELLOW"):
line += str(MD)
如果您想修改文本文件,而不是将一些文本附加到内存中的 python 字符串,您可以使用标准库中的 fileinput
模块。
import fileinput
batch = ['1', '2', '3', '4', '5']
list = ['A', 'B', 'C']
for i in list:
for j in batch:
os.chdir("/" + i + "/folder_" + j + "/")
file_name = "script.txt"
MD = "TEXT"
input_file = fileinput.input(file_name, inplace=1)
for line in input_file:
if line.startswith("YELLOW"):
print line.strip() + str(MD)
else:
print line,
input_file.close() # Strange how fileinput doesn't support context managers
我想在循环内将一些文本附加到文本文件中特定行的末尾。 到目前为止,我有以下内容:
batch = ['1', '2', '3', '4', '5']
list = ['A', 'B', 'C']
for i in list:
for j in batch:
os.chdir("/" + i + "/folder_" + j + "/")
file = "script.txt"
MD = "TEXT"
with open(file) as templist:
templ = templist.read().splitlines()
for line in templ:
if line.startswith("YELLOW"):
line += str(MD)
我是 python 的新手。你能帮忙吗?
编辑:我根据(很好的)建议更新了我的脚本,但它仍然没有改变我的台词。
这将进行字符串连接:
line += str(MD)
这里有一些 more documentation on the operators,因为 python 支持赋值运算符。 a += b
等同于:a = a + b
。在 python 中,与在某些其他语言中一样,+=
赋值运算符执行:
Add AND assignment operator, It adds right operand to the left operand and assign the result to left operand
你说的大部分是对的,但正如你所指出的,字符串没有追加函数。在前面的代码中,您将字符串与 + 运算符组合在一起。你可以在这里做同样的事情。
batch = ['1', '2', '3', '4', '5']
list = ['A', 'B', 'C']
for i in list:
for j in batch:
os.chdir("/" + i + "/folder_" + j + "/")
file = "script.txt"
MD = "TEXT"
with open(file) as templist:
templ = templist.read().splitlines()
for line in templ:
if line.startswith("YELLOW"):
line += str(MD)
如果您想修改文本文件,而不是将一些文本附加到内存中的 python 字符串,您可以使用标准库中的 fileinput
模块。
import fileinput
batch = ['1', '2', '3', '4', '5']
list = ['A', 'B', 'C']
for i in list:
for j in batch:
os.chdir("/" + i + "/folder_" + j + "/")
file_name = "script.txt"
MD = "TEXT"
input_file = fileinput.input(file_name, inplace=1)
for line in input_file:
if line.startswith("YELLOW"):
print line.strip() + str(MD)
else:
print line,
input_file.close() # Strange how fileinput doesn't support context managers