【发布时间】:2021-07-01 23:49:55
【问题描述】:
我已经遇到这个问题大约一个月了,没有任何进展,请帮助。 我在这个文件夹中有一个名为 Zoomproj 的父文件夹是我的 python 脚本和另一个名为 saved-meetings-backup 的文件夹(*不确定这是否相关),它是另一个名为 saved_meeting 的不同目录中的另一个文件夹的副本。在保存的会议备份中,我有大约 12 个文件夹,它们都有相似的名称,但按日期区分,例如一个文件夹名为“2021-05-06 12.50.38 Daniel Zoom Meeting 97242325090”,另一个文件夹名为“ 2021-05-12 11.17.12 Daniel Zoom Meeting 97242325090” 在所有这些文件夹中,只有一个名为“meeting_saved_chat.txt”的文件。我尝试使用 shutil 和 glob 和 os.path.join 无济于事,这是我的原始代码不起作用:
targ = r"Users/myname/projects/ZoomProj" + "//"
src = r"/Users/myname/projects/ZoomProj/saved-meeting-backup" + "//"
count = 0
for path, dirs, file in os.path.walk(src):
for file in files:
if file.endswith('.txt'):
count += 1
nfname = os.path.splitext(file)[0] + "_" str(count) + os.path.splitext(file)[1]
shutil.copy(nfname, targ)
我得到一个错误,没有这样的文件或目录。我已经缩小了问题的范围,似乎 python 没有将这些重新设置为文件,所以我尝试了这个
target_folder = r"/Users/myname/projects/ZoomProj" + "//"
src_folder = r"/Users/myname/projects/ZoomProj/saved-meeting-backup" + "//"
count = 0
for path, dirs, file in os.path.walk(src_folder):
if files:
for file in files:
if os.path.isfile(file):
print(True)
else:
print(False)
这对所有文本文件都显示为 false,我不知道为什么。我知道,我应该阅读文档,但我已经尝试过了。任何帮助将不胜感激。
【问题讨论】:
-
你为什么要在路径名后面加上
//? -
路径名应以
/开头,使其成为绝对路径。 -
targ = r"/Users/myname/projects/ZoomProj" -
我不明白
nfname应该是什么。shutil.copy()的第一个参数应该是您要复制的文件的名称。为什么要在文件名中插入count?那个文件不存在。这是您要创建的目标文件的名称吗?
标签: python python-3.x