此代码:
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"启动程序。