在python 3.5.1中覆盖特定行时遇到问题我知道有解决方案,但是他们使用外部模块,或者是冗长且特定于该人员问题。
是否有一行代码可以做到这一点? 这是我正在寻找的:File.write("在这里插入文字","行覆盖")
这是我的代码:
from time import sleep
import os
#functions
def pause():
pause = input("Paused press <ENTER> to continue")
print("attempting to open workspace......")
#
Fo = open("work1.txt", 'r+')#opens the file
print("workspace opened")
#mainloop :D
def Mainloop():
global Fo
Fo.close()
Fo = open("work1.txt", 'r+')
os.system('cls')
print('''
''')
print (" ======")
print (" Read")
print (" Write")
print (" ======")
print("")
INP = input(' >')
if INP == "Read":
Hm = input("how much?")
print("")
if Hm == 'All':
print(Fo.read())
else:
print(Fo.read(int(Hm)))
sleep(2)
pause()
os.system('cls')
Mainloop()
if INP == "Write":
TextToAdd = input("Text to Write: ")
Fo.write(TextToAdd)
os.system('cls')
Mainloop()
else:
print('Not avaliable')
sleep(2)
os.system('cls')
Mainloop()
Mainloop()
pause()
答案 0 :(得分:0)
您想要用不同的行替换文本文件中的一行吗?
for line in open(filename):
if line.rstrip('\n') == search_pattern:
sys.stdout.write('%s\n' % replacement)
else:
sys.stdout.write('%s' % line)
而不是sys.stdout.write()
,您可以例如填充列表,或写入(临时)文件等。
重要的想法是先获取所需的输入(搜索模式,替换字符串),然后逐行遍历文件。
解决方案属性:
或者,如果文件保证很小,您可以将内容读入字符串并使用str.replace()
替换您要搜索的行。