实现这个功能,需要用到以下两个Python模块:

  1. os模块:用于处理文件和目录的函数;
  2. openpyxl模块:用于操作Excel文件。

首先,需要定义一个函数来处理接收到的文件。该函数需要接收一个参数,即接收到的文件路径。在函数内部,可以使用os模块中的函数来获取文件信息,如文件名、文件类型、文件大小等。然后,可以根据文件类型来归档文件,例如将图片文件保存在一个名为“图片”的文件夹中,将文档文件保存在一个名为“文档”的文件夹中。

接下来,需要编写一个函数来创建Excel清单,并将接收到的文件信息写入Excel文件中。在这个函数中,需要使用openpyxl模块来创建Excel文件并添加表头以及数据。可以使用os模块中的函数来遍历接收到的文件目录,并将每个文件的信息写入Excel文件中。

最后,可以编写一个主函数,用于监控电脑微信接收到的文件目录,并调用上述两个函数来自动归档文件并生成Excel清单。可以使用os模块中的函数来监控目录中是否有新的文件出现,如果有,则调用处理文件的函数来归档文件,然后调用生成Excel清单的函数来更新Excel文件。

下面是一个示例代码,供参考:

import os
from datetime import datetime
from openpyxl import Workbook

# 处理接收到的文件
def process_file(file_path):
    # 获取文件信息
    file_name = os.path.basename(file_path)
    file_type = os.path.splitext(file_name)[1]
    file_size = os.path.getsize(file_path)
    file_create_time = datetime.fromtimestamp(os.path.getctime(file_path)).strftime('%Y-%m-%d %H:%M:%S')
    sender_nick = 'unknown' # TODO: 获取发送人昵称
    
    # 归档文件
    if file_type in ['.jpg', '.png', '.gif']:
        folder_name = '图片'
    elif file_type in ['.doc', '.docx', '.pdf']:
        folder_name = '文档'
    else:
        folder_name = '其他'
    
    folder_path = os.path.join(os.path.dirname(file_path), folder_name)
    if not os.path.exists(folder_path):
        os.mkdir(folder_path)
    new_file_path = os.path.join(folder_path, file_name)
    os.rename(file_path, new_file_path)
    
    # 返回文件信息
    return file_create_time, sender_nick, file_type

# 生成Excel清单
def create_excel(file_dir):
    # 遍历文件目录
    file_list = []
    for root, dirs, files in os.walk(file_dir):
        for file_name in files:
            file_path = os.path.join(root, file_name)
            file_create_time, sender_nick, file_type = process_file(file_path)
            file_list.append((file_create_time, sender_nick, file_type))
    
    # 创建Excel文件并写入数据
    wb = Workbook()
    ws = wb.active
    ws.append(['日期', '发送人', '文件类型'])
    for file_info in file_list:
        ws.append(file_info)
    wb.save('接收文件清单.xlsx')

# 主函数
def main():
    file_dir = 'C:/Users/user/Documents/接收文件'
    while True:
        for file_name in os.listdir(file_dir):
            file_path = os.path.join(file_dir, file_name)
            if os.path.isfile(file_path):
                process_file(file_path)
        create_excel(file_dir)
        time.sleep(60)
        
if __name__ == '__main__':
    main()

注意,以上代码仅供参考,实际应用中需要根据具体情况进行修改和优化。

电脑微信接收到的文件如何编写python程序让其自动归档以及自动编写一个接收到文件的excel清单包含接收到的日期、发送人昵称以及文件类型。

原文地址: https://www.cveoy.top/t/topic/bNaJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录