如何使用os模块屏蔽文件夹或文件
删除文件的Python语法
import os os.remove("/tmp/.txt")
或者
import os os.unlink("/tmp/.txt")
或者
file_to_rem = pathlib.Path("/tmp/.txt") file_to_rem.unlink()
Path.unlink(missing_ok=False)
Unlink方法用于删除文件或符号链接。
- 如果missing_ok为false(默认值),则如果路径不存在,则会引发FileNotFoundError异常。
- 如果missing_ok为true,则将忽略FileNotFoundError异常(与POSIX rm -f命令的行为相同)。
- 从版本3.8开始:添加了missing_ok参数。
最佳实践
首先,检查文件或文件夹是否存在,然后再删除它。您可以通过两种方式实现这一点:
os.path.isfile(“/path/to/file”)
- 使用
异常处理
。
对于os.path.isfile
的例子
#!/usr/bin/python import os myfile = "/tmp/foo.txt" # If file exists, delete it. if os.path.isfile(myfile): os.remove(myfile) else: # If it fails, inform the user. print("Error: %s file not found" % myfile)
异常处理
#!/usr/bin/python import os # Get input. myfile = raw_input("Enter file name to delete: ") # Try to delete the file. try: os.remove(myfile) except OSError as e: # If it fails, inform the user. print("Error: %s - %s." % (e.filename, e.strerror))
相应的输出
输入要删除的文件名:demo.txt 错误:demo.txt - 没有这样的文件或目录。 输入要删除的文件名:rrr.txt 错误:rrr.txt - 操作不允许。 输入要删除的文件名:foo.txt
删除文件夹的Python语法
shutil.rmtree()
shutil.rmtree()的
示例
#!/usr/bin/python import os import sys import shutil # Get directory name mydir = raw_input("Enter directory name: ") # Try to remove the tree; if it fails, throw an error using try...except. try: shutil.rmtree(mydir) except OSError as e: print("Error: %s - %s." % (e.filename, e.strerror))
-
os.remove()
删除一个文件。 -
os.rmdir()
删除一个空目录。 -
shutil.rmtree()
删除一个目录及其所有内容。
Python 3.4+
的 pathlib
模块中的 Path
对象也暴露了这些实例方法:
-
pathlib.Path.unlink()
删除一个文件或符号链接。 -
pathlib.Path.rmdir()
删除一个空目录。