如何使用win32api在Python中实现文件和目录操作
发布时间:2024-01-07 15:00:32
在Python中,你可以使用win32api模块来实现文件和目录操作。win32api为Windows API的Python封装,它可以让你使用Windows的底层功能。
以下是win32api中一些常见的文件和目录操作的方法及使用示例:
1. 获取文件大小:
import win32api
def get_file_size(file_path):
# 使用GetFileSize来获取文件大小,返回值为字节数
return win32api.GetFileSize(file_path)
file_path = "C:\\test.txt"
file_size = get_file_size(file_path)
print(f"文件大小: {file_size}字节")
2. 获取文件最后修改时间:
import win32api
import win32con
import win32file
import pywintypes
def get_file_last_modified_time(file_path):
# 使用GetFileTime来获取文件的创建时间、上次访问时间和最后修改时间
# 使用FILE_ATTRIBUTE_DIRECTORY判断是否为文件夹
file_attributes = win32file.GetFileAttributes(file_path)
if file_attributes == win32con.INVALID_FILE_ATTRIBUTES:
raise FileNotFoundError
if file_attributes & win32con.FILE_ATTRIBUTE_DIRECTORY:
raise IsADirectoryError
file_info = win32file.GetFileTime(file_path)
file_last_modified_time = file_info[1]
return pywintypes.Time(file_last_modified_time).AsDateTime()
file_path = "C:\\test.txt"
last_modified_time = get_file_last_modified_time(file_path)
print(f"文件最后修改时间: {last_modified_time.strftime('%Y-%m-%d %H:%M:%S')}")
3. 创建目录:
import win32api
def create_directory(directory_path):
# 使用CreateDirectory创建目录
win32api.CreateDirectory(directory_path, None)
directory_path = "C:\\test"
create_directory(directory_path)
print(f"目录{directory_path}已创建")
4. 删除文件:
import win32api
def delete_file(file_path):
# 使用DeleteFile删除文件
win32api.DeleteFile(file_path)
file_path = "C:\\test.txt"
delete_file(file_path)
print(f"文件{file_path}已删除")
5. 复制文件:
import win32api
def copy_file(source_file, destination_file):
# 使用CopyFile复制文件
win32api.CopyFile(source_file, destination_file)
source_file = "C:\\test.txt"
destination_file = "C:\\test_copy.txt"
copy_file(source_file, destination_file)
print(f"文件{source_file}已复制为{destination_file}")
6. 移动文件:
import win32api
def move_file(source_file, destination_file):
# 使用MoveFile移动文件
win32api.MoveFile(source_file, destination_file)
source_file = "C:\\test.txt"
destination_file = "C:\\test_move.txt"
move_file(source_file, destination_file)
print(f"文件{source_file}已移动为{destination_file}")
以上是使用win32api在Python中实现文件和目录操作的一些常见方法和示例。通过这些方法,您可以实现对文件和目录的创建、删除、复制和移动等操作。请根据您的需求选择适当的方法来处理文件和目录。
