我正在嘗試將一個字串寫入和讀取到臨時檔案中,但是當我列印字串中的每一行時,它每行只輸出一個字符(我認為這是因為當我運行 for 回圈時,它識別每個“行”字串作為單個字符。
division_text如果我只是執行一個,下面是我的字串片段print(division_text):
Locked VersoToken Tokens- 170,833.00 VSO
LOCKED
Locked 05/02/2021 ? Unlocks 10/01/2022
Owner: 0x308D2Ac1Bab7D0211717F969602fBC26D286555A
UNLOCK COUNTDOWN
352D – 9H – 10M – 29S
以下是寫入 tmp 檔案的內容:
L
o
c
k
e
d
V
e
r
s
o
T
o
k
e
n
.
.
.
我的代碼如下:
division_text = 'Locked VersoToken Tokens- 170,833.00 VSO
LOCKED
Locked 05/02/2021 ? Unlocks 10/01/2022
Owner: 0x308D2Ac1Bab7D0211717F969602fBC26D286555A
UNLOCK COUNTDOWN
352D – 9H – 10M – 29S
VIEW TX'
with tempfile.NamedTemporaryFile(mode='w', delete=False) as tmp:
print(tmp.name)
tmp.write('{}\n'.format(division_text))
# reopen the file for reading
with open(tmp.name) as tmp:
new_division_text = tmp.read()
for line in new_division_text:
print(line)
os.remove(tmp.name)
的輸出print(line)是我上面寫的垂直系列字符。
在'{}\n'.format(division_text)似乎并不被幫助的東西。
我無法將字串修改為行串列,因為這樣我就無法將串列寫入檔案,就像我從中讀取的 .txt 檔案一樣。或者我可以嗎?
Python/我的計算機如何知道它是一個文本檔案?
uj5u.com熱心網友回復:
read() 將檔案的全部內容讀入單個陣列,這就是為什么當您遍歷它時,它將每個字符列印在單獨的行上。
你需要這樣的東西:
with open(tmp.name) as tmp:
new_division_text = tmp.readlines()
for line in new_division_text:
print(line)
注意 readlines()
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/317705.html
上一篇:使用函式洗掉非字母,回傳不正確
