使用python os库移动特定文件

2024-10-01 13:35:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用Python操作系统模块将单个文件从一个充满照片的目录移动到一个新创建的目录。OS-rename(https://docs.python.org/2/library/os.html#module-os)看起来很有前途,但它似乎不必一次在一个目录上移动文件,而只是重命名整个目录。你知道吗

for i, v in enumerate(directories):
    newpath = "/Users/simonorlovsky/code/carleton_archive/newsreleaseFolders/directories/"+v
    files = os.listdir( newpath )

    #Check to make sure this directory isn't empy
    if files == []:
        print v, "is empty"
    directories[v] = files
    print "Folder:", v
    print "Files:", directories[v]
    filesToCopyOver = directories[v]
    for i in range(len(filesToCopyOver)):
        filesToCopyOver[i]= filesToCopyOver[i][:-3]+"tiff"
    print "Files to move over", filesToCopyOver
    src = "/Users/simonorlovsky/code/carleton_archive/newsreleaseFolders/tiffs/"
    print "Source:", src
    dst = "/Users/simonorlovsky/code/carleton_archive/newsreleaseFolders/"+v
    print "Destination", dst
    print ""
    os.mkdir(v)
    shutil.move(src, dst)
    print ""

Tags: 文件src目录oscodefilesusersdst
2条回答

我建议您使用python中的shutil库。它有一个“移动”方法。当然,您可以随时查找源代码shutil.移动看看他们是怎么做到的。你知道吗

这就是最终修复我代码的原因。为了shutil.移动(src,dst)您可以为src输入特定的文件名。以前我觉得你只能放在一个目录里。谢谢大家的帮助。你知道吗

for i, v in enumerate(directories):
newpath = "/Users/simonorlovsky/code/carleton_archive/newsRelease/directories/"+v #path to current folder
files = os.listdir( newpath )
os.mkdir(v)
if files == []: #Check to make sure this directory isn't empty
    print v, "is empty"
directories[v] = files
print "Folder:", v
print "Files:", directories[v]
filesToCopyOver = directories[v]
for i in range(len(filesToCopyOver)):
    filesToCopyOver[i]= filesToCopyOver[i][:-3]+"tif"
    src = "/Users/simonorlovsky/code/carleton_archive/newsRelease/tiffs/"+filesToCopyOver[i]
    dst = "/Users/simonorlovsky/code/carleton_archive/newsRelease/"+v
    if filesToCopyOver[i][0]!=".":
        shutil.move(src, dst)
        print "File moved from ", src, "to", dst

print ""

相关问题 更多 >