fileinput
파이썬 모듈을 사용하여 이상한 동작이 나타납니다. 변경하려는 파일에 사용자 읽기 권한이 없으면 파일이 삭제됩니다. 나는이 파일을 실행하면fileinput.py 대상 파일 삭제
import fileinput
try:
for line in fileinput.input('TEST', inplace=1):
line = line.strip()
if '/' in line:
print "PATH: " + line
else:
print line
except Exception as e:
print e
, 내가 얻을 :
$ ls -l
--wxrwxrwx 1 myusername agqt3 0 Feb 25 11:02 TEST
$ python test.py
[Errno 13] Permission denied: 'TEST.bak'
$ ls -l
total 0
파일이 삭제됩니다. 사용자 r
이 포함되지 않은 사용 권한 비트 조합이있을 때마다 동일한 문제가 발생합니다. 나는 bash
, csh
및 ksh
에서 이것을 재현했다.
TEST가 포함 된 디렉터리의 "w"권한이 누락 되었기 때문에 권한 거부 오류가 발생하고 있습니까? –
@Cthulhu : 그렇지 않은 것 같습니다. 또한'/ tmp'에 새 디렉토리를 만들고'/ tmp/newDir'을'777 '로 설정하고이 디렉토리에있는 모든 것을 실행하더라도 여전히 문제가 있음을 확인할 수 있습니다. – gambol