我正在嘗試讀取我之前添加到的檔案的內容,我想將其附加到串列中并將其列印到控制臺。當我運行時,它只列印空串列。我希望它讀取的檔案只有 6 行,每行 7 個句點,中間沒有空格。
這是我的代碼:
list = []
def write():
with open("board.txt", "w") as x:
for each in range(6):
x.write("......" "\n")
start("board.txt")
def start(x):
with open(x) as f:
for line in f:
b = line.read()
c = b.strip()
x = list.append(c)
print(list)
write()
這是輸出:
[]
以下是檔案 (board.txt) 的樣子:
.......
.......
.......
.......
.......
.......
請幫忙,我是代碼新手,這真的很令人沮喪。
uj5u.com熱心網友回復:
我認為這是有問題的:
def start(x):
with open(x) as f:
for line in f:
b = line.read()
c = b.strip()
x = list.append(c)
print(list)
line是一行的內容f- 所以是檔案。但是您將其line用作檔案的處理程式-雖然它是帶有檔案內容的字串-在這種情況下為“.......”。第二——從哪里來list?你列印它。我會像這樣做你想做的事:
def write(filename="board.txt"):
with open(filename, "w") as fout:
for each in range(6):
fout.write("......" "\n")
def read(filename="board.txt"):
with open(filename) as fin:
return [line for line in fin] # or: fin.readlines()
write()
read()
uj5u.com熱心網友回復:
的start("board.txt")必須是一個選項卡或4個空格進一步向左或檔案未正確關閉。并且請不要覆寫內置插件。改變的全域變數不是一個好主意。
def write():
with open("board.txt", "w") as x:
for each in range(6):
x.write("......" "\n")
start("board.txt")
def start(x):
array = []
with open(x) as f:
for line in f:
array.append(line.strip())
print(array)
write()
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406006.html
標籤:
上一篇:串列理解,如果條件首先在回圈之前
