python - 循环不适用于移动文件脚本
问题描述
我对 Python 很陌生,我不明白为什么这段代码不做任何事情就崩溃了。它基本上将文件从一个文件夹移动到另一个文件夹,并带有消息和延迟,依此类推。
import shutil
import os
import time
source_dir = 'C:/Users/Kip/Desktop/tarace'
target_dir = 'C:/Users/Kip/Desktop/tamere'
file_names = os.listdir(source_dir)
while True:
for file_name in file_names:
shutil.move(os.path.join(source_dir, file_name), target_dir)
print("OK")
time.sleep(2)
我做错什么了?
解决方案
这应该可行,但不要忘记它将覆盖相同的命名文件,如果您不希望这样做,则必须在移动之前进行检查。
import shutil
import os
import time
source_dir = 'C:/Users/Kip/Desktop/tarace'
target_dir = 'C:/Users/Kip/Desktop/tamere'
while True:
file_names = os.listdir(source_dir)
if(file_names):
print("files found moving..")
for file_name in file_names:
old_path = os.path.join(source_dir, file_name)
new_path = os.path.join(target_dir, file_name)
shutil.move(old_path, new_path)
print("file {0} -> moved to {1}".format(old_path, new_path))
time.sleep(2)
推荐阅读
- javascript - 带条件的事件发射器
- angular - Why queryParams are empty
- visual-studio - Windows SDK 版本 10.0.15063.0 和 10.0.17134.0 之间 tracewpp 的行为变化
- vba - vba 命令检查 MS Project 计划是否在服务器中签出
- excel - 从 Excel 中的多个工作表中提取某些位置单元格值以及工作表名称
- android - 项目点击后Recyclerview停留在位置
- arrays - 不能在 foreach 循环中使用 Get-ADGroup
- angular - TypeError:child.send 不是函数
- sql-server - 错误数据库中的 SQL Server 表
- java - 将数据加载到 Java GUI