IOError: [Errno 22] PyMel/ Python
IOError: [Errno 22] PyMel/ Python
SE们晚上好,
我有一个问题困扰了我 24 小时。我已经阅读了这个问题,我的问题似乎很愚蠢。所以,我一定是做错了什么。
第一个
我正在使用 xlrd、xlwt 和 xlutils 创建一个 excel 文档并重新打开它以检查、更新和写入(保存)它。某些原因导致它无法正常工作,显然只有当它使用更新的(副本)工作簿保存 OVER 自身时才会出现这种情况。
我从这个 "ask" 中得到了很好的信息,但它不适用于我...
IOError: [Errno 22] invalid mode ('wb') or filename:
SECOND 我的问题是我的错误是:
IOError: [Errno 22] invalid mode ('w+b') or filename: u'D:/LocalData/[username]/Desktop/test1_.xls'
注意,用户名其实不是[用户名]。
此处列出回溯:
# Error: 22
# Traceback (most recent call last):
# File "<maya console>", line 3, in <module>
# File "D:/LocalData/[username]/Documents/maya/scripts\ExportExcel.py", line 144, in main
# writeExcel()
# File "D:/LocalData/[username]/Documents/maya/scripts\ExportExcel.py", line 107, in writeExcel
# writeInt(wb,wsInt,filePath,detectName,fileName)
# File "D:/LocalData/[username]/Documents/maya/scripts\ExportExcel.py", line 48, in writeInt
# logTheMatList(wb,wsInt,filePath,detectName)
# File "D:/LocalData/[username]/Documents/maya/scripts\ExportExcel.py", line 35, in logTheMatList
# wb.save(filePath+'MaterialList_'+str(detectName)+'.xls')
# File "D:\Program Files\Autodesk\Maya2013\Python\lib\xlwt\Workbook.py", line 696, in save
# doc.save(filename_or_stream, self.get_biff_data())
# File "D:\Program Files\Autodesk\Maya2013\Python\lib\xlwt\CompoundDoc.py", line 262, in save
# f = open(file_name_or_filelike_obj, 'w+b')
编辑 1:
发现我无法打开并覆盖它的文件。我不确定为什么,但如果它是相同的名称和文件位置,它会高度反对并提供错误。有没有人对如何避免这个明显的问题有任何建议?
我自己想出来的。
如果您在使用 os、xlrd、xlwt 和 xlutils 时打开 excel 文档以读取和保存...您必须遵循这些说明(可能已经解决了由比我了解的人少 ;)).
import
所有重要、必要的模块
rb=xlrd.open_workbook([your location here]+[your file name]+'.xls')
WARNING 不要使用 on_demand=True,这会保留你的文件 打开
os.remove([your location here]+[your file name]+'.xls')
wb=copy(rb)
wb.save([your location here]+[your file name]+'.xls')
这是在没有 "deleting" 您的文件的情况下更新您创建的文件(如程序中的典型保存)的最os最有效的方法,您将要保存该文件较新的副本。
SE们晚上好,
我有一个问题困扰了我 24 小时。我已经阅读了这个问题,我的问题似乎很愚蠢。所以,我一定是做错了什么。
第一个 我正在使用 xlrd、xlwt 和 xlutils 创建一个 excel 文档并重新打开它以检查、更新和写入(保存)它。某些原因导致它无法正常工作,显然只有当它使用更新的(副本)工作簿保存 OVER 自身时才会出现这种情况。
我从这个 "ask" 中得到了很好的信息,但它不适用于我... IOError: [Errno 22] invalid mode ('wb') or filename:
SECOND 我的问题是我的错误是:
IOError: [Errno 22] invalid mode ('w+b') or filename: u'D:/LocalData/[username]/Desktop/test1_.xls'
注意,用户名其实不是[用户名]。
此处列出回溯:
# Error: 22
# Traceback (most recent call last):
# File "<maya console>", line 3, in <module>
# File "D:/LocalData/[username]/Documents/maya/scripts\ExportExcel.py", line 144, in main
# writeExcel()
# File "D:/LocalData/[username]/Documents/maya/scripts\ExportExcel.py", line 107, in writeExcel
# writeInt(wb,wsInt,filePath,detectName,fileName)
# File "D:/LocalData/[username]/Documents/maya/scripts\ExportExcel.py", line 48, in writeInt
# logTheMatList(wb,wsInt,filePath,detectName)
# File "D:/LocalData/[username]/Documents/maya/scripts\ExportExcel.py", line 35, in logTheMatList
# wb.save(filePath+'MaterialList_'+str(detectName)+'.xls')
# File "D:\Program Files\Autodesk\Maya2013\Python\lib\xlwt\Workbook.py", line 696, in save
# doc.save(filename_or_stream, self.get_biff_data())
# File "D:\Program Files\Autodesk\Maya2013\Python\lib\xlwt\CompoundDoc.py", line 262, in save
# f = open(file_name_or_filelike_obj, 'w+b')
编辑 1:
发现我无法打开并覆盖它的文件。我不确定为什么,但如果它是相同的名称和文件位置,它会高度反对并提供错误。有没有人对如何避免这个明显的问题有任何建议?
我自己想出来的。
如果您在使用 os、xlrd、xlwt 和 xlutils 时打开 excel 文档以读取和保存...您必须遵循这些说明(可能已经解决了由比我了解的人少 ;)).
import
所有重要、必要的模块rb=xlrd.open_workbook([your location here]+[your file name]+'.xls')
WARNING 不要使用 on_demand=True,这会保留你的文件 打开os.remove([your location here]+[your file name]+'.xls')
wb=copy(rb)
wb.save([your location here]+[your file name]+'.xls')
这是在没有 "deleting" 您的文件的情况下更新您创建的文件(如程序中的典型保存)的最os最有效的方法,您将要保存该文件较新的副本。