我正在嘗試在程式中打開一個我之前保存的檔案。然后我想在檔案中寫一些文本。但它給了我以下錯誤,我已經在谷歌和stackoverflow上尋找解決方案,但解決方案不起作用。
OSError: [Errno 22] Invalid argument: "<_io.TextIOWrapper name='C:/Users/kevin/Music/playlist.txt' mode='w' encoding='cp1252'>"
和我的代碼:
def create_playlist():
playlist_songs = filedialog.askopenfilenames(initialdir=r'C:\Users\kevin\Music')
str(playlist_songs)
playlist_file = str(filedialog.asksaveasfile(mode="w",defaultextension=".txt"))
with open (playlist_file, 'w') as f:
f.write(playlist_songs)
我希望你能幫助我。我提前感謝您的幫助。
uj5u.com熱心網友回復:
playlist_file變數包含"<_io.TextIOWrapper name='C:/Users/kevin/Music/playlist.txt' mode='w' encoding='cp1252'>"字串;不只是"C:/Users/kevin/Music/playlist.txt",導致問題。
只需添加:
playlist_file = playlist_file[25: playlist_file.index("' ")]
這樣你的代碼就變成了
def create_playlist():
playlist_songs = filedialog.askopenfilenames(initialdir=r'C:\Users\kevin\Music')
playlist_file = str(filedialog.asksaveasfile(mode="w",defaultextension=".txt"))
playlist_file = playlist_file[25: playlist_file.index("' ")]
with open (playlist_file, 'w') as f:
f.write(playlist_songs)
可運行示例:
from tkinter import filedialog
playlist_songs = filedialog.askopenfilenames(initialdir=r'C:\Users\kevin\Music')
playlist_file = str(filedialog.asksaveasfile(mode="w",defaultextension=".txt"))
playlist_file = playlist_file[25: playlist_file.index("' ")]
with open (playlist_file, 'w') as f:
f.write(playlist_songs)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/456971.html
