2013-08-24 4 views
2

권한 denied` 오류`이 코드 수 :때 Excel에서 Mac에서 엽니 만들려고 다음 엑셀 파일 (openpyxl)을 저장하고하는 것은

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

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

내 Mac에서 실행이 오류가 발생을

파일이 openpyxl로 생성되었습니다. 나는 그 파일에 상당한 양의 데이터를 쓰는 tkinter 응용 프로그램이 내 응용 프로그램 외부에서 오류를 재현하지 못했습니다.

Windows에서 비슷한 코드를 실행해도 오류가 발생하지 않으면 파일이 Excel에서 열립니다. 유일한 차이점은 open 명령이 없다는 것입니다.

이 오류의 원인은 무엇입니까? 내 시스템에서

답변

3

은 (맥 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) 

(의견을 참조 : 나는 내기를 잃었 오류는 다른 곳이었다. 코드와 관련이없고 시스템 ('open'+ 무엇이든)과 아무 관련이 없습니다.

시스템의 새 파일에 사용 권한이 잘못되었을 수 있습니다. 어쩌면 당신은 ...

그리고 모든 사람과 모든 것을하여 열 수 있어야한다 대신 내 논평 ('# 아래 참조 *')의 코드에 ( docu)

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

(with input from other link)

를 추가

작동하는 경우 이는 일시적인 해결책입니다. 우리 시스템에는 차이가 있으며 어떤 차이가 있는지 알지 못합니다. 그렇지 않다면, 필자는 (코드에 문제가 없었기 때문에) 필자의 시스템에서 테스트하지 않았고 주석을 쓰고 설정을 가지고 놀았거나 누군가 다른 아이디어를 가지고있을 수도 있습니다.

Btw : 폴더에있는 터미널에서 : python 코드 실행 후 'ls -l excelfilename'의 결과는 무엇입니까? 어떤 프로그래밍 환경을 사용합니까? 터미널에서 'python2.7 pythonscript.py'를 통해 프로그램을 시작합니다.

+0

'-rw-r - r-- 1 tylerjw staff 7168 8 월 25 일 09:25 8 월 20 일 _report.xlsx' 나는 파이썬 2.7.5를 home-brew와 함께 설치했습니다. 응용 프로그램을 열려면'python2 pythonscript.pyw' 명령을 사용하고 있습니다. 'python2'는 2.7.5 설치에 대한 링크입니다. os.stat에서 출력 된 – tylerjw

+0

:'posix.stat_result (st_mode = 33188, st_ino = 4647129, st_dev = 16777218L, st_nlink = 1, st_uid = 501, st_gid = 20, st_size = 7167, st_atime = 1377406987, st_mtime = 1377412013, st_ctime = 1377412013)' – tylerjw

+0

좋아, os.stat는 ls -l과 동일한 결과를 제공합니다. 권한이 괜찮은 것 같습니다. 적어도 여기는 동일합니다. Excel에서 생성하여 Excel에 저장 한 파일을 터미널에서 '열린 파일'로 열 수 있습니까? –

관련 문제