首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IOError:[Errno 22] PyMel/ Python

IOError:[Errno 22] PyMel/ Python
EN

Stack Overflow用户
提问于 2015-05-06 18:09:27
回答 1查看 552关注 0票数 0

晚上好,

在过去的二十四个小时里,我一直有一个问题困扰着我。我读过关于这个问题的文章,我的问题似乎很愚蠢。所以,我肯定做错什么了。

FIRST --我正在使用xlrd、xlwt和xlutils创建一个文档,并重新打开它以检查、更新和写入(保存)它。某些东西导致它不能正常工作,而且很明显,只有当它用更新的(副本)工作簿保存自己时,它才能正常工作。

我从这个“询问”中得到了一个很好的信息,但它不适用于我.IOError: [Errno 22] invalid mode ('wb') or filename:

第二我的问题是,我的错误是:

代码语言:javascript
运行
复制
IOError: [Errno 22] invalid mode ('w+b') or filename: u'D:/LocalData/[username]/Desktop/test1_.xls'

注意,用户名实际上不是用户名。

以下列出了跟踪:

代码语言:javascript
运行
复制
# 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')

EDIT1:

我发现我不能打开一个文件然后覆盖它。我不知道为什么,但如果它是相同的名称和文件位置,它非常不赞成,并提供了一个错误。有没有人对如何避免这个明显的问题有任何建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-06 18:58:54

我自己想出来的。

如果您正在打开excel文档,以便在使用os、xlrd、xlwt和xlutils时读取和保存.你必须遵循这些指示(这很可能是由一个比我了解得少的人解决的;)。

  1. import所有重要的、必要的模块
  2. rb=xlrd.open_workbook([your location here]+[your file name]+'.xls') 警告不使用on_demand=True,这将保持文件打开。
  3. os.remove([your location here]+[your file name]+'.xls')
  4. wb=copy(rb)
  5. wb.save([your location here]+[your file name]+'.xls')

这是更新您创建的文件的最有效方法(如程序中的典型保存),而无需“删除”您的文件,但您将保存一个较新的副本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30084434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档