Python:删除/删除文件

时间:2020-01-09 10:44:18  来源:igfitidea点击:

如何在MS-Windows或Unix之类的操作系统下使用Python编程语言删除名为/tmp/foo.txt的文件?
您可以使用remove("/path/to/file")unlink("/file/path")来删除(删除)文件路径。

语法: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

关于使用shutil.rmtree()在Python中删除整个目录树的说明

使用shutil.rmtree()删除整个目录树;路径必须指向目录(但不能指向目录的符号链接)。
语法为:

inport shutil
## syntax ##
shutil.rmtree(path)
shutil.rmtree(path[, ignore_errors[, onerror]])

在此示例中,删除/nas01/theitroad/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/theitroad/oldfiles/
Enter directory name : bar.txt
Error: bar.txt - Not a directory.