Python OSError: [Errno 22] Invalid argument:的出現和解決


在執行網頁端的報告生成word文檔時候,出現以下兩個報錯情況:

1、成功解決ValueError: Invalid format string 
2、Python OSError: [Errno 22] Invalid argument:報告名稱xxxx

通過查詢發現,這兩個問題出現都是由於這一句導致的:

file_name = 'REPORTS_%s.docx'%time.strftime('%Y-%m-%d %H:%M:%s') 
open with(file_name,'rb')as fp:
  ...

問題1解決方案: 要講 %s 中的 小s改為大S,就不會報錯了。

問題2解決方案: 時間獲取有問題,,時分秒之間不能用冒號不能用冒號!!!,要用下划線分隔開即可。修改為:

file_name = 'REPORTS_%s.docx'%time.strftime('%Y-%m-%d %H_%M_%S')

關於問題2的解決,我又查詢相關資料,發現是windows 下文件名中不能出現以下特殊字符【?*:"<>/|】,在使用open with 讀寫文件時,文件名中就不能
包含上述關鍵字。只要修改為其他字符即可解決。

以上解決后均不在報錯


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM