Python:删除/移除文件
如何在 MS-Windows 或类 Unix 操作系统下使用 Python 编程语言删除名为 /tmp/foo.txt 的文件?
您可以使用或remove("/path/to/file")来unlink("/file/path")移除(删除)文件路径。
[donotprint]
[/donotprint]
您可以使用或remove("/path/to/file")来unlink("/file/path")移除(删除)文件路径。
[donotprint]
教程详细信息 | |
---|---|
难度等级 | 简单的 |
Root 权限 | 不 |
要求 | Python |
预计阅读时间 | 2 分钟 |
语法:Python 删除文件
import os
os.remove("/tmp/foo.txt")
或者
import os
os.unlink("/tmp/foo.txt")
示例:如何在 Python 中删除文件或文件夹?
更好的选择是用来os.path.isfile("/path/to/file")检查文件是否存在:
#!/usr/bin/python import os myfile="/tmp/foo.txt" ## if file exists, delete it ## if os.path.isfile(myfile): os.remove(myfile) else: ## Show an error ## print("Error: %s file not found" % myfile)
或者使用 try:…except OSError 如下来检测删除文件时的错误:
#!/usr/bin/python import os ## get input ## myfile= raw_input("Enter file name to delete : ") ## try to delete file ## try: os.remove(myfile) except OSError, e: ## if failed, report it back to the user ## print ("Error: %s - %s." % (e.filename,e.strerror))
示例输出:
Enter file name to delete : demo.txt Error: demo.txt - No such file or directory. Enter file name to delete : rrr.txt Error: rrr.txt - Operation not permitted. Enter file name to delete : foo.txt
关于使用 Python 删除整个目录树的说明shutil.rmtree()
用于shutil.rmtree()删除整个目录树;路径必须指向目录(但不能是目录的符号链接)。语法为:
inport shutil ## syntax ## shutil.rmtree(path) shutil.rmtree(path[, ignore_errors[, onerror]])
在此示例中,删除 /nas01/example/oldfiles/ 目录及其所有文件:
#!/usr/bin/python import os import sys import shutil # Get dir name mydir= raw_input("Enter directory name : ") ## Try to remove tree; if failed show an error using try...except on screen try: shutil.rmtree(mydir) except OSError, e: print ("Error: %s - %s." % (e.filename,e.strerror))
示例输出:
Enter directory name : /tmp/foobar/ Error: /tmp/foobar/ - No such file or directory. Enter directory name : /nas01/example/oldfiles/ Enter directory name : bar.txt Error: bar.txt - Not a directory.