【发布时间】:2014-01-12 14:11:29
【问题描述】:
我正在尝试在我的 Ubuntu 机器上运行此代码,以便它将任何新的 .txt 文件从 out 文件夹转移到 in 文件夹,但我可能做错了什么,因为它不起作用。
import shutil
import os
os.chdir("/test/out")
srcdir = os.listdir("/test/out")
dstdir = "/test/in"
srcdir = True
def filemv():
for file in srcdir:
if file.endswith(".txt"):
shutil.move(file, dstdir)
print(file)
while srcdir is True:
filemv()
【问题讨论】:
-
这将最大化 CPU 并可能导致系统冻结。你应该重新考虑你的想法。
-
for file in srcdir失败,因为它是 True 并且您不能遍历它。 -
除了您的代码中已经指出的错误:您对“工作”的定义是什么?预期的结果是什么,您实际得到的结果是什么?
-
另外,您已经声明了两次
srcdir...这是一个布尔值,而不是您可能预期的os.listdir()的结果。 -
嗨 Lukas,我希望这个小脚本在 srcdir 上监听新的 *.txt 文件。一旦新文件进入文件夹,它将立即移动到 dstdir。谢谢大佬