解決python保存文件出錯(cuò)的方法

這篇文章將為大家詳細(xì)講解有關(guān)解決python保存文件出錯(cuò)的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

10年建站經(jīng)驗(yàn), 成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)客戶的見證與正確選擇。創(chuàng)新互聯(lián)建站提供完善的營銷型網(wǎng)頁建站明細(xì)報(bào)價(jià)表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

在普通保存文件出現(xiàn)下面的錯(cuò)誤:

file save failed

encoding failed:

'latin-1' codec can't encode characters in position 57-60:ordinal not in range(256)

解決python保存文件出錯(cuò)的方法

解決方法:

在你的代碼中添加一行,如下圖所示:

解決python保存文件出錯(cuò)的方法

2、python在Windows系統(tǒng)使用下面的方法保存文件出錯(cuò)

# -*- 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)這樣的錯(cuò)誤:

Traceback (most recent call last):
  File "C:/Users/HP/PycharmProjects/Github_From_PyCharm/test_xlwt.py", line 14, in <module>
    workbook.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)該錯(cuò)誤的原因并不是我們使用xlwt模塊的方式有問題,而是不同系統(tǒng)之間的差異,Windows系統(tǒng)的文件名中不允許出現(xiàn)/ \ : * " < > | 這幾個(gè)符號。

解決方法:

我們在Window系統(tǒng)中使用上述代碼的時(shí)候,只需要將:(冒號)改成其他Windows系統(tǒng)支持的符號就可以了。

關(guān)于解決python保存文件出錯(cuò)的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

當(dāng)前名稱:解決python保存文件出錯(cuò)的方法
分享路徑:http://bm7419.com/article8/pcdiop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、標(biāo)簽優(yōu)化、小程序開發(fā)、軟件開發(fā)、域名注冊、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化