python列表换行写入_如何使用Python3中的换行符将列表写入文件
我正在嘗試使用Python 3將數組(列表?)寫入文本文件 . 目前我有:
def save_to_file(*text):
with open('/path/to/filename.txt', mode='wt', encoding='utf-8') as myfile:
for lines in text:
print(lines, file = myfile)
myfile.close
這會將類似于數組的內容直接寫入文本文件,即
['element1', 'element2', 'element3']
username@machine:/path$
我要做的是創建文件
element1
element2
element3
username@machine:/path$
我嘗試了不同的循環方式并追加"\n"但似乎寫入是在一次操作中轉儲數組 . 問題類似于How to write list of strings to file, adding newlines?,但語法看起來像是Python 2?當我嘗試它的修改版本時:
def save_to_file(*text):
myfile = open('/path/to/filename.txt', mode='wt', encoding='utf-8')
for lines in text:
myfile.write(lines)
myfile.close
... Python shell給出了“TypeError:必須是str,而不是list”,我認為這是因為Python2和Python 3之間的變化 . 我想讓每個元素在換行符上缺少什么?
編輯:謝謝@agf和@arafangion;結合你們兩個人寫的內容,我想出了:
def save_to_file(text):
with open('/path/to/filename.txt', mode='wt', encoding='utf-8') as myfile:
myfile.write('\n'.join(text))
myfile.write('\n')
看起來我有“* text”問題的一部分(我讀過這個擴展了參數,但是直到你寫了[元素]變成[[元素]]我才得到一個str-not-列表類型錯誤;我一直在想我需要告訴定義它是一個傳遞給它的列表/數組,并且只是聲明“test”將是一個字符串 . )一旦我將其更改為文本并使用myfile,它就起作用了 . 用連接寫,附加的\ n放在文件末尾的最后一行 .
總結
以上是生活随笔為你收集整理的python列表换行写入_如何使用Python3中的换行符将列表写入文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python标准库os的方法_Pytho
- 下一篇: 你需要来自trustedinstalle