当保存excel文件(openpyxl),然后试图让excel在mac上打开它时,会出现“权限被拒绝”错误



此代码:

workbook.save(outputf)    
system('open ' + outputf)

在我的mac:上运行时生成此错误

sh: /Users/tylerjw/Desktop/jim_data/August2013_report.xlsx: Permission denied

该文件是使用openpyxl创建的。我无法在我的应用程序之外重现错误。我的应用软件是一个tkinter应用程序,它正在向该文件写入大量数据。

当我在windows中运行类似的代码时,它不会出错,它会打开带有该文件的excel。唯一的区别是没有open命令。

出现这种错误的情况是什么?

在我的系统(mac 10.6.8、python2.7.5、gcc 4.2.1)上,以下代码运行良好:

from openpyxl import Workbook
from os import system
wb = Workbook()
outputf = 'test.xlsx'
wb.save(outputf) 
# see below *
system('open ' + outputf)

(见评论:我输了。错误在代码中的其他地方,与系统无关("打开"+任何))

我敢打赌,你系统上新文件的权限肯定有问题。也许你加上(docu)

st = os.stat(outputf)
os.chmod(outputf, st.st_mode | stat.stat.S_IRWXU | stat.S_IRWXG | stat.S_IRWXO)

(带来自其他链路的输入)

在代码中,而不是我的评论("#见下文*")然后应该可以让每个人和所有人打开它。。。

如果它有效,这是一个变通方法。我们的制度有区别,我不知道有什么区别。如果没有,好吧,我没有在我的系统上测试它(因为我的代码没有问题),写一条评论,我可能会玩这些设置,或者其他人有主意。

Btw在文件夹中的终端中:执行python代码后,什么输出会给出"ls-l excelfilename"?您使用什么编程环境?我通过终端中的"python2.7 pythonscript.py"启动程序。

最新更新