PermissionError : 파이썬의 [Errno 13]


83

파이썬을 배우기 시작했는데 아래에 언급 된 문제가 있습니다.

a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8')

Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8')
PermissionError: [Errno 13] Permission denied: 'E:\\Python Win7-64-AMD 3.3\\Test\

파일 권한 오류 인 것 같습니다. 누군가가 빛을 발할 수 있다면 크게 감사하겠습니다.

참고 : Python 및 Windows 파일이 어떻게 작동하는지 확실하지 않지만 Windows에 Admin으로 로그인했으며 폴더에 관리자 권한이 있습니다.

.exe관리자로 실행하도록 속성을 변경해 보았습니다 .


7
Test파일 또는 폴더?
Joachim Isaksson 2011

1
@JoachimIsaksson 오류 줄 끝에서 볼 수 있듯이 확실히 폴더입니다. 답을 만드십시오.
Oleh Prypin 2012

테스트는 폴더이며 다음 문서는 다음 구문을 사용하여 텍스트 문서를 열 수 있습니다. a_file = open ( 'E : \ Python Win7-64-AMD 3.3 \ Test \ a.txt', encoding = 'utf-8' )이 구문을 a_file = open ( 'E : \ Python Win7-64-AMD 3.3 \ Test', encoding = 'utf-8')과 같이 사용하면 동일한 오류가 발생합니다.
BenniMcBeno 2011

그건 그렇고, Windows 경로 이름에 원시 문자열을 사용하는 것을 잊지 마십시오. 그렇지 않으면 하위 폴더 이름이 n또는 b또는 이스케이프 시퀀스의 일부가 될 수있는 다른 문자 로 시작해야하는 경우 심하게 물릴 것입니다 .
Tim Pietzcker

좋아, 그래서 파일은 플래시 드라이브에 있었고 플래시 드라이버는 FAT32이고 내 HD는 NTFS이므로 포맷 충돌이있었습니다.> <로컬에서 잘 작동합니다. 감사합니다
BenniMcBeno

답변:


65

할 때;

a_file = open('E:\Python Win7-64-AMD 3.3\Test', encoding='utf-8')

... 디렉토리 를 파일로 열려고하는데 대부분의 비 UNIX 파일 시스템에서는 실패 할 수 있습니다.

그래도 다른 예는;

a_file = open('E:\Python Win7-64-AMD 3.3\Test\a.txt', encoding='utf-8')

에 대한 권한 만 있으면 잘 작동합니다 a.txt. r하지만 경로 \n에 특수 문자로 변환되는 이스케이프 문자가 포함되어 있지 않은지 확인하기 위해 원시 ( -prefixed) 문자열 을 사용할 수 있습니다 .

a_file = open(r'E:\Python Win7-64-AMD 3.3\Test\a.txt', encoding='utf-8')

a ok Roger 운이 좋았습니다. 지금을 제외하고는 거의 항상 Linux에서 lol> <, 그래서 당신은 내가 그것을 제안합니까? btw 테스트는 폴더 / 디렉토리입니다.
BenniMcBeno 2011

2
@bennyboy 파일 대신 디렉토리를 열어서 달성하려는 목표에 따라 다릅니다 ...?
Joachim Isaksson 2012

15

저에게는 Excel에서 열리는 파일에 쓰고있었습니다.


오픈 엑셀 파일 (파이썬 스크립트를 실행하는 매크로가 있기 때문에)에 작성해야합니다. 어떻게 처리합니까?
빅터

내 pandas가 open (filename, "rb")에서 실패하여 Excel을 닫으면 문제가 해결되었지만 그 이유는 무엇입니까?
Niels Tolstrup

0

내 작업 디렉토리가 C:\Windows\System32파이썬 모듈을 실행하는 일반적인 디렉토리 대신에 실수로 명령 프롬프트를 통해 파이썬 모듈을 실행하려고 시도했을 때이 문제가 발생했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.