我正在使用fileinput
Python模块一些奇怪的行为。如果我正在尝试修改的文件没有用户读取权限,则会被删除。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
中转载了此内容。
Permission denied错误发生,因为含有TEST目录中的“W”权限丢失可能? – 2013-02-25 05:12:20
@Cthulhu:似乎并非如此。另外,即使我在'/ tmp'中创建一个新目录并将'/ tmp/newDir'设置为'777'并在这个新目录中运行所有内容,我也可以确认它仍然在发生。 – gambol 2013-02-25 05:16:34