這篇文章將為大家詳細講解有關(guān)解決python保存文件出錯的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
10年建站經(jīng)驗, 成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計客戶的見證與正確選擇。創(chuàng)新互聯(lián)建站提供完善的營銷型網(wǎng)頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
在普通保存文件出現(xiàn)下面的錯誤:
file save failed
encoding failed:
'latin-1' codec can't encode characters in position 57-60:ordinal not in range(256)
解決方法:
在你的代碼中添加一行,如下圖所示:
2、python在Windows系統(tǒng)使用下面的方法保存文件出錯
# -*- coding: utf-8 -*- import xlwt, datetime # 創(chuàng)建一個workbook 設(shè)置編碼 workbook = xlwt.Workbook(encoding = 'utf-8') # 創(chuàng)建一個worksheet worksheet = workbook.add_sheet('My Worksheet') # 寫入excel worksheet.write(0, 0, label = 'this is test') # 保存 suffix= datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") workbook.save('./test_%s.xls' % suffix)
使用上述代碼在Mac中保存文件沒有問題,在Windows系統(tǒng)中運行,會出現(xiàn)這樣的錯誤:
Traceback (most recent call last): File "C:/Users/HP/PycharmProjects/Github_From_PyCharm/test_xlwt.py", line 14, inworkbook.save('./test_%s.xls' % suffix) File "C:\Users\HP\PycharmProjects\test\venv\lib\site-packages\xlwt\Workbook.py", line 710, in save doc.save(filename_or_stream, self.get_biff_data()) File "C:\Users\HP\PycharmProjects\test\venv\lib\site-packages\xlwt\CompoundDoc.py", line 262, in save f = open(file_name_or_filelike_obj, 'w+b') OSError: [Errno 22] Invalid argument: './test_2020-02-19 21:12:13.xls'
出現(xiàn)該錯誤的原因并不是我們使用xlwt模塊的方式有問題,而是不同系統(tǒng)之間的差異,Windows系統(tǒng)的文件名中不允許出現(xiàn)/ \ : * " < > | 這幾個符號。
解決方法:
我們在Window系統(tǒng)中使用上述代碼的時候,只需要將:(冒號)改成其他Windows系統(tǒng)支持的符號就可以了。
關(guān)于解決python保存文件出錯的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。