编写一个程序,要求用户输入一个文件夹路径和一个文件扩展名,程序需要找出该文件夹中所有该扩展名的文件,并将它们复制到新的文件夹中。
时间: 2023-06-18 16:07:03 浏览: 88
利用汇编写的文件操作小程序,功能是复制文件
以下是Python 3.x的代码实现,使用`os`和`shutil`模块来操作文件和文件夹:
```python
import os
import shutil
def copy_files_by_extension(source_dir, target_dir, extension):
# 创建目标文件夹
if not os.path.exists(target_dir):
os.makedirs(target_dir)
# 遍历源文件夹中的所有文件
for filename in os.listdir(source_dir):
source_file = os.path.join(source_dir, filename)
# 如果是文件夹则递归处理
if os.path.isdir(source_file):
copy_files_by_extension(source_file, target_dir, extension)
else:
# 如果是指定扩展名的文件,则复制到目标文件夹
if filename.endswith(extension):
target_file = os.path.join(target_dir, filename)
shutil.copy2(source_file, target_file)
# 测试代码
source_dir = input("请输入源文件夹路径:")
target_dir = input("请输入目标文件夹路径:")
extension = input("请输入文件扩展名(如:.txt):")
copy_files_by_extension(source_dir, target_dir, extension)
print("文件复制完成!")
```
在运行程序时,用户需要依次输入源文件夹路径、目标文件夹路径和文件扩展名。程序会遍历源文件夹中的所有文件,并将扩展名为指定值的文件复制到目标文件夹中。如果目标文件夹不存在,程序会自动创建它。复制文件时,使用`shutil`模块的`copy2()`函数,可以保留文件的元数据(如创建时间、修改时间等)。
阅读全文