相关疑难解决方法(0)

如何删除/删除Python不为空的文件夹?

当我尝试删除非空文件夹时,我收到"访问被拒绝"错误.我在尝试中使用了以下命令:os.remove("/folder_name").

删除/删除非空文件夹/目录的最有效方法是什么?

python file

790
推荐指数
11
解决办法
59万
查看次数

用户做什么python脚本在Windows中运行?

我试图让python删除一些目录,我得到访问错误.我认为它的python用户帐户没有权限?

WindowsError: [Error 5] Access is denied: 'path'
Run Code Online (Sandbox Code Playgroud)

是我运行脚本时得到的.
我试过了

shutil.rmtree  
os.remove  
os.rmdir
Run Code Online (Sandbox Code Playgroud)

他们都返回相同的错误.

python windows file-permissions

32
推荐指数
1
解决办法
2万
查看次数

删除Python中的目录

shutil.rmtree不会删除Windows上的只读文件.有一个python相当于"rm -rf"?为什么哦为什么会这么痛?

python directory delete-file

31
推荐指数
1
解决办法
2万
查看次数

如何避免"WindowsError:[错误5]访问被拒绝"

有重新创建文件夹的脚本:

# Remove folder (if exists) with all files
if os.path.isdir(str(os.path.realpath('..') + "\\my_folder")):
        shutil.rmtree(os.path.realpath('..') + "\\my_folder", ignore_errors=True)
# Create new folder
os.mkdir(os.path.realpath('..') + "\\my_folder")
Run Code Online (Sandbox Code Playgroud)

这几乎总是有效,但在某些情况下(在创建步骤中),我得到了

WindowsError: [Error 5] Access is denied: 'C:\\Path\\To\\my_folder'
Run Code Online (Sandbox Code Playgroud)

什么可能导致此错误,我该如何避免?

python windowserror python-2.7

15
推荐指数
4
解决办法
6万
查看次数

递归扫描文件并删除python中的空目录

我有以下结构:

Dir 1
|___Dir 2
   |___file 1
   |___file 2...
Dir 3
|___Dir 4
   |___file 3...
Run Code Online (Sandbox Code Playgroud)

我希望能够递归地找到每个文件,以我自己的方式处理文件,一旦完成,删除文件,移动到下一个.然后,如果目录是空的,那么删除它,继续向上,直到没有剩下.

只是不知道如何继续.

这就是我所拥有的:

for root, dirs, files in os.walk(dir):
    path = root.split('/')
    for file in files:
        file = os.path.join(root, file)
        process_file(file)
        os.remove(file)
Run Code Online (Sandbox Code Playgroud)

这很好,但我想删除子目录,只有它们是空的.

python directory recursion file delete-file

6
推荐指数
1
解决办法
9395
查看次数

Python脚本未在Windows中删除Git文件

我正在使用以下代码删除包含git repo的目录:

import errno
import os
import stat
import shutil


def clear_dir(path):
    shutil.rmtree(path, ignore_errors=False, onerror=handle_remove_readonly)


def handle_remove_readonly(func, path, exc):
  excvalue = exc[1]
  if func in (os.rmdir, os.remove) and excvalue.errno == errno.EACCES:
      os.chmod(path, stat.S_IRWXU| stat.S_IRWXG| stat.S_IRWXO) # 0777
      func(path)
  else:
      raise
Run Code Online (Sandbox Code Playgroud)

此代码应能很好地处理只读文件。我可以从Windows资源管理器中删除目录/文件夹,但是当我运行以下代码时:

if __name__ == '__main__':
    clear_dir(r'c:\path\to\ci-monitor')
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

  File "C:\Users\m45914\code\ci-monitor\utils\filehandling.py", line 8, in clear_dir                              
    shutil.rmtree(path, ignore_errors=False, onerror=handle_remove_readonly)                                      
  File "C:\Users\m45914\AppData\Local\Programs\Python\Python35\lib\shutil.py", line 488, in rmtree                
    return _rmtree_unsafe(path, onerror)                                                                          
  File "C:\Users\m45914\AppData\Local\Programs\Python\Python35\lib\shutil.py", line 378, in _rmtree_unsafe        
    _rmtree_unsafe(fullname, onerror)                                                                             
  File "C:\Users\m45914\AppData\Local\Programs\Python\Python35\lib\shutil.py", line 378, in _rmtree_unsafe        
    _rmtree_unsafe(fullname, …
Run Code Online (Sandbox Code Playgroud)

python windows git delete-file

5
推荐指数
1
解决办法
1600
查看次数