我正在编写一个Python脚本来检查文件夹是否存在,如果存在则将其删除,然后重写它。
我可以创建一个目录,然后立即将其删除。
但是当我尝试删除一个目录,然后创建一个目录时,我收到以下错误:
"[Error 5] Access is denied: 'plots'"
虽然:
os.path.exists(dir)=false
也许Spyder以某种方式保留了记忆?请帮忙!
import os, shutil
dir = 'plots'
print "remove directory"
if os.path.exists(dir):
shutil.rmtree(dir)
print os.path.exists(dir)
print "create directory"
os.mkdir(dir, 0755)
print os.path.exists(dir)
编辑:
输出首次运行(当“情节”不存在时)
删除目录
假
创建目录
真
输出第二次运行(当'情节确实存在时)
删除目录
假
创建目录
文件“C:/ Python27 / Spyder Workspace / JPL_impact_gnuplot / 07gnuplot / 02my_lammps_anal / anal_lammps.py”,第60行,in os.mkdir(dir,0755) WindowsError:[错误5]访问被拒绝:'plots'“
所以,最后: os.path.exists(DIR)=假 但令人惊讶地否认访问该目录!救命啊!
答案 0 :(得分:0)
如果您的环境没有对目录的写入权限,则可能会发生这种情况。
您可以从命令行重新创建方案。
$ touch testfile
$ ls testfile
testfile
$ chmod 555 .
$ rm testfile
$ ls testfile
ls: cannot access testfile: No such file or directory
$ touch testfile
touch: cannot touch `testfile': Permission denied