這個腳本應該刪除一個文件,寫3行代替:爲什麼這個腳本給我亂碼? (蟒蛇)
from sys import argv
script, filename = argv
filesource = "C:\Users\Miguel\Downloads\Python\%s" % filename
txt = open(filesource)
print filesource
print txt.read()
print "Let's delete the file"
raw_input("Delete? Use Ctrl+C to go back")
target = open(filesource, 'r+')
target.truncate(1)
print "Provide 3 lines for the file"
line1 = "aaaaaaa"
line2 = "bbbbbbb"
line3 = "ccccccc"
target.write (("%s\n%s\n%s\n") % (line1, line2, line3))
print target.read()
target.close()
但是它給我的三線和大量亂碼。
請幫忙嗎?
爲什麼不使用'w +'模式,所以打開它時會自動截斷文件? – Barmar
當您嘗試閱讀時,文件指針「目標」位於文件的*結尾*處。如果你想閱讀你寫的這幾行,你首先必須回溯到開始:'target.seek(0)'應該這樣做。 – Evert
@Evert因爲他沒有倒帶,所以當他調用'target.read()'時他爲什麼會看到任何東西? – Barmar