假设我有一个文本文件,其中包含:
Dan Warrior 500 1 0
有没有办法可以编辑该文本文件中的特定行?目前我有这个:
#!/usr/bin/env python import io myfile = open('stats.txt', 'r') dan = myfile.readline() print dan print "Your name: " + dan.split('\n')[0] try: myfile = open('stats.txt', 'a') myfile.writelines('Mage')[1] except IOError: myfile.close() finally: myfile.close()
是的,我知道这myfile.writelines('Mage')[1]是错误的。但你明白我的意思,对吧?我正在尝试编辑第 2 行,将战士替换为法师。但我能做到吗?
myfile.writelines('Mage')[1]
要编辑文本文件中的特定行,例如将“Warrior”替换为“Mage”,您可以按照以下步骤操作:
下面是一个完整的例子来演示这一点:
# Read the file with open('stats.txt', 'r') as file: lines = file.readlines() # Modify the specific line (e.g., replacing "Warrior" with "Mage") lines[1] = 'Mage\n' # Replace line 2, index 1 (0-based indexing) # Write the modified contents back to the file with open('stats.txt', 'w') as file: file.writelines(lines)
'r'
file.readlines()
lines
lines[1] = 'Mage\n'
'w'
file.writelines(lines)
lines[1]
\n
with
给定原始文件:
运行代码后,文件将更新为:
Dan Mage 500 1 0
这种方法对于在文本文件中进行特定行的编辑简单而有效。