十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
這篇文章將為大家詳細(xì)講解有關(guān)解決python保存文件出錯的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
在普通保存文件出現(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)建一個(gè)workbook 設(shè)置編碼 workbook = xlwt.Workbook(encoding = 'utf-8') # 創(chuàng)建一個(gè)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)中運(yùn)行,會出現(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)/ \ : * " < > | 這幾個(gè)符號。
解決方法:
我們在Window系統(tǒng)中使用上述代碼的時(shí)候,只需要將:(冒號)改成其他Windows系統(tǒng)支持的符號就可以了。
關(guān)于解決python保存文件出錯的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。