在執行網頁端的報告生成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 讀寫文件時,文件名中就不能
包含上述關鍵字。只要修改為其他字符即可解決。
以上解決后均不在報錯