如何在 Mac 上运行 Python 文件来读取 txt 文件并将其写入外部硬盘?

问题描述 投票:0回答:1

我目前有一个装满了我想阅读的 epub 的文件夹,一个我已经阅读过并想再次阅读的 epub 的文件夹,以及一个相应的文件,每个文件中都有 epub 文件的名称。问题是,这些文件夹仅位于我的外部硬盘上。我想要做的是让我的脚本解析这些文件夹中的 epub 列表,并在我的下载文件夹中创建最新的副本,如果我忘记了我下载的任何副本,另一位代码将处理我下载的任何副本我的图书馆里已经有一本了。

我想这个修复必须使用 os 或 Shutil 模块,并且我被告知在使用它们时要非常小心。我确实知道这可能还需要使用 Bash,我对此有一些小小的了解。

python permissions shutil hard-drive python-os
1个回答
0
投票

我不太清楚你的要求,但也许这就是你想要的?

import os
import shutil

# Paths
external_drive_folder = '/path/to/external/drive/folder'
downloads_folder = '/path/to/downloads/folder'
read_list_file = '/path/to/read_list.txt'
to_read_list_file = '/path/to/to_read_list.txt'

# Read the list of epub files
def read_file_list(file_path):
    with open(file_path, 'r') as file:
        return [line.strip() for line in file]

read_list = read_file_list(read_list_file)
to_read_list = read_file_list(to_read_list_file)

# Combine the lists
all_epub_files = read_list + to_read_list

# Function to copy files
def copy_files(file_list, src_folder, dst_folder):
    for file_name in file_list:
        src_path = os.path.join(src_folder, file_name)
        dst_path = os.path.join(dst_folder, file_name)
    
        # Check if the file already exists in the destination folder
        if os.path.exists(dst_path):
            print(f"File {file_name} already exists in the destination folder.")
        else:
            try:
                shutil.copy2(src_path, dst_path)
                print(f"Copied {file_name} to {dst_folder}.")
            except Exception as e:
                print(f"Error copying {file_name}: {e}")

# Copy files from external drive to downloads folder
copy_files(all_epub_files, external_drive_folder, downloads_folder)

我不太确定这段代码的运行效果如何,但希望它对你有用。

© www.soinside.com 2019 - 2024. All rights reserved.