python文件:无法在';r+';模式
我试图从文件中删除文本末尾的多个字母(取决于输入),然后将其存储在同一文件中:python文件:无法在';r+';模式,python,python-3.x,Python,Python 3.x,我试图从文件中删除文本末尾的多个字母(取决于输入),然后将其存储在同一文件中: f = open("fileLoc/stuff.txt","r+") removeNum = int(input("num: ")) prevText = f.read() print(prevText, end="\n\n") txt = prevText if(removeNum+3 <= len(prevText)):
f = open("fileLoc/stuff.txt","r+")
removeNum = int(input("num: "))
prevText = f.read()
print(prevText, end="\n\n")
txt = prevText
if(removeNum+3 <= len(prevText)):
txt = (prevText[0:removeNum*-1])
f.seek(0)
print(txt, end="\n\n")
f.write(txt)
f.seek(0)
print(f.read(),end="")
f.close()
您确实将新文本写入了文件。但是,它恰好与这些文件位置上的现有文本相同,并且您没有做任何事情来删除您编写的文本后的最后10个字符(
f.truncate()
在f.write()之后将执行该操作)覆盖现有数据,但在写入之前不会清空文件。要做到这一点,用open(“filename.txt”,“w”)
打开文件,这会清空文件;我很困惑。谢谢
C:\Py\youtube>python use.py
num: 10
hello
abcdefghijklmnopqrstuvwxyz
hello
abcdefghijklmnop
hello
abcdefghijklmnopqrstuvwxyz