在Python中,可以使用`shutil`模块中的`move()`函数来移动文件。以下是一个简单的示例:
```python
import shutil
源文件路径
source_file = "source_file.txt"
目标路径
destination_folder = "destination_folder/"
移动文件
shutil.move(source_file, destination_folder)
```
如果你需要移动文件并重命名,可以这样做:
```python
import shutil
源文件路径
source_file = "source_file.txt"
目标文件路径及新名称
destination_file = "destination_folder/new_file_name.txt"
移动并重命名文件
shutil.move(source_file, destination_file)
```
对于批量移动文件,可以使用以下示例代码:
```python
import os
import shutil
源文件夹路径
source_folder = "source_folder/"
目标文件夹路径
destination_folder = "destination_folder/"
遍历源文件夹中的所有文件
for filename in os.listdir(source_folder):
获取完整的源文件路径
source_path = os.path.join(source_folder, filename)
获取目标文件路径
destination_path = os.path.join(destination_folder, filename)
移动文件
shutil.move(source_path, destination_path)
print(f"已移动: {filename}")
```
这个代码会遍历指定源文件夹中的所有文件,并将它们移动到目标文件夹中,文件名保持不变。如果目标文件夹中已存在同名文件,`shutil.move()`函数会自动在文件名后添加一个数字序列以避免覆盖。
如果你需要更高级的功能,例如支持子文件夹穿透查找或根据文件名包含的关键字进行过滤,可以使用以下代码:
```python
import os
import shutil
源文件夹路径
source_folder = "source_folder/"
目标文件夹路径
destination_folder = "destination_folder/"
关键字列表
keywords = ["keyword1", "keyword2"]
遍历源文件夹及其子文件夹中的所有文件
for root, dirs, files in os.walk(source_folder):
for filename in files:
检查文件名是否包含任意关键字
if any(keyword in filename for keyword in keywords):
获取完整的源文件路径
source_path = os.path.join(root, filename)
获取目标文件路径
destination_path = os.path.join(destination_folder, filename)
移动文件
shutil.move(source_path, destination_path)
print(f"已移动包含关键字的文件: {filename}")
```
这个代码会遍历指定源文件夹及其所有子文件夹中的文件,查找文件名包含任意关键字的文件,并将它们移动到目标文件夹中。
建议
在进行文件移动之前,建议先备份重要数据,以防止意外丢失。
确保目标路径存在,否则`shutil.move()`函数会抛出异常。
如果需要处理大量文件或复杂数字序列重命名,可以考虑使用更高级的文件管理工具或编写更复杂的脚本。