我正在嘗試撰寫如下函式,除了它將串列和檔案名作為引數。這是令人討厭的基本,但它逃脫了我。
def write_list_to_file():
wordlst = ["No", "Time", "for", "this"]
file = open(filename, 'w')
for items in wordlst:
file.writelines(items '\n')
file.close()wordlst
鑒于這有效,這:
def write_list_to_file(wordlst, filename):
wordlst = ["No", "Time", "for", "this"]
with open(filename ".txt",'w') as file:
for items in wordlst:
file.writelines(items '\n')
也應該。除了以 的方式呼叫函式write_list_to_file(wordlst, Idk)不回傳任何檔案。完全意識到串列保持靜態我以相同的方式嘗試了單個引數函式,即:
def makefile(filename):
file = open(filename ".txt", 'w')
file.close()
makefile("Really")
這也不會產生任何檔案。請忽略串列的元素,我在這方面的時間比我愿意承認的要長得多,而且我找不到有助于解決這個特定問題的東西。我找到了無數的解決方案來實作這一點,但不是以函式的形式將任何串列和任何檔案作為輸入。在每種情況下,退出代碼都沒有顯示錯誤,所以我至少希望創建一個檔案但找不到任何檔案。
TLDR:嘗試制作一個 write_list_to_file(wordlst,filename) 函式,必須明顯地丟失,感謝幫助。
編輯:批準,縮進問題只在這篇文章中,代碼縮進正確,匆匆忙忙
編輯2:cf評論
uj5u.com熱心網友回復:
您的代碼示例沒有正確的縮進,這在撰寫 python 代碼時很重要。
此外,writelines()接受一個字串串列。您遍歷串列并希望將每個元素保存在單獨的行上 -write()這將是正確的功能。
最后,確保將您的檔案名作為字串傳遞。
此代碼應該可以作業:
def write_list_to_file(wordlst, filename):
with open(filename '.txt', 'w') as file:
for item in wordlst:
file.write(item '\n')
write_list_to_file(['element1', 'element2', 'element3'], 'tempfile')
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/458918.html
