FileInfo模块
文件信息的获取
FileInfo模块是Python中的一个标准库,它提供了获取文件相关信息的方法。其中最常用的方法是FileInfo类的构造函数,通过文件路径创建一个FileInfo对象,可以获取文件的大小、修改时间、访问时间、创建时间等信息。例如以下代码:
```python
import os
from datetime import datetime
file_path = 'test.txt'
file_info = os.stat(file_path)
print(f"文件名:{file_path}")
print(f"大小:{file_info.st_size} bytes")
print(f"修改时间:{datetime.fromtimestamp(file_info.st_mtime)}")
print(f"访问时间:{datetime.fromtimestamp(file_info.st_atime)}")
print(f"创建时间:{datetime.fromtimestamp(file_info.st_ctime)}")
```
运行结果如下:
文件名:test.txt
大小:14 bytes
修改时间:2021-06-17 16:22:44.555910
访问时间:2021-06-17 16:22:44.555910
创建时间:2021-06-17 16:22:44.413624
文件类型的判断
除了获取文件信息,FileInfo模块还提供了判断文件类型的方法。其中最常用的方法是isfile()和isdir(),分别用于判断给定路径是否为文件和目录。例如以下代码:
if os.path.isfile(file_path):
print(f"{file_path}是一个文件")
else:
print(f"{file_path}不是一个文件")
dir_path = 'test_dir'
if os.path.isdir(dir_path):
print(f"{dir_path}是一个目录")
print(f"{dir_path}不是一个目录")
test.txt是一个文件
test_dir是一个目录
除了这两个方法,FileInfo模块还提供了islink()方法用于判断给定路径是否为符号链接,ismount()方法用于判断给定路径是否为挂载点,等等。
文件权限的获取和修改
在Unix/Linux系统中,文件的权限是非常重要的概念。FileInfo模块提供了获取和修改文件权限的方法。其中最常用的方法是chmod(),用于修改文件的读写执行权限。例如以下代码:
os.chmod(file_path, 0o755) # 将test.txt的权限设置为rwxr-xr-x
其中0o755表示权限为rwxr-xr-x。类似地,0o777表示权限为rwxrwxrwx,0o644表示权限为rw-r--r--。FileInfo模块还提供了其他相关的方法,例如chown()和chgrp()用于修改文件的拥有者和所属组。
文件名和路径的操作
除了获取文件信息和权限,FileInfo模块还提供了一些文件名和路径相关的操作方法。basename()方法可以获取文件路径中的文件名,dirname()方法可以获取文件路径中的目录名,abspath()方法可以获取文件的绝对路径,等等。例如以下代码:
print(os.path.basename(file_path)) # 输出test.txt
print(os.path.dirname(file_path)) # 输出空字符串(在当前目录下)
print(os.path.abspath(file_path)) # 输出文件的绝对路径
除了这些方法,FileInfo模块还提供了其他一些有用的方法,例如join()方法可以将多个路径拼接成一个完整的路径,splitext()方法可以分离文件名和扩展名,等等。
FileInfo模块是Python中非常重要的一个标准库,它提供了获取文件信息、判断文件类型、修改权限、操作文件名和路径等一系列方法。使用FileInfo模块可以方便地完成文件管理和操作,是Python中不可或缺的一部分。
TAGS
#Python #FileInfo #文件管理
网友留言(0)