Python:读取文本文件并将其中列出的目录复制/粘贴到新目录

Posted

技术标签:

【中文标题】Python:读取文本文件并将其中列出的目录复制/粘贴到新目录【英文标题】:Python: read a text file and copy/paste directories listed in it to a new directory 【发布时间】:2016-05-17 19:10:33 【问题描述】:

我正在尝试读取列出目录名称的 .txt 文件并将列出的目录复制/粘贴到新目录中。我非常接近弄清楚它,但需要一个复制目录的函数(不仅仅是它的内容)。

from distutils.dir_util import copy_tree

dst = '/Users/name/Desktop/Core/TEST'
f = open('/Users/name/Desktop/Core/Core_List.txt','r')
for i in f.readlines():  
    print i
    copy_tree(i.strip(), dst)

f.close()

这就是最终的工作:

from shutil import copytree
from os.path import join

dst = '/Users/name/Desktop/Core/TEST'
f = open('/Users/name/Desktop/Core/Core_List.txt','r')
for i in f.readlines():
    print i
    copytree(i.strip(), join(dst,i))

f.close()

【问题讨论】:

很清楚,只是包含无关信息。问题是您需要一个复制目录本身而不仅仅是其内容的函数。其他一切都不相关。 How do I copy an entire directory of files into an existing directory using Python?的可能重复 看看shutil模块 我尝试遵循“如何使用 Python 将整个文件目录复制到现有目录中?”但这是我第一次使用 Python,所以我很难将 open() 与 def 结合起来。 【参考方案1】:

也许是这样

from shutil import copytree
from os.path import join

dst = '/Users/name/Desktop/Core/TEST'
with open('/Users/name/Desktop/Core/Core_List.txt') as f:
    for src in f:
       print src
       copytree(src, join(dst, src))

假设 src 是相对于工作目录的,如果不是,它会稍微复杂一些。

【讨论】:

【参考方案2】:

换行:

copy_tree(i.strip(),dst)

带线:

copy_tree(i.strip(),dst + '/' + i.strip())

【讨论】:

【参考方案3】:

我认为这应该可行:

from distutils.dir_util import copy_tree

os.chdir('/Users/name/Desktop/Core/')
f = open('./Core_List.txt','r')
for i in f.readlines():  
    print i
    copy_tree(i.strip(), './TEST/')

f.close()

注意:所有“i”值都必须是文件名,而不是路径。

【讨论】:

以上是关于Python:读取文本文件并将其中列出的目录复制/粘贴到新目录的主要内容,如果未能解决你的问题,请参考以下文章

在hdfs中列出文件并将输出附加到文本文件

android读取一个文件夹有多少个文件

如何获取文本文件的内容并将其复制到剪贴板?

在 Fortran 中逐行读取逗号分隔的文本文件

从.txt文件复制文本并将其分配给Python中的变量[重复]

我想读取带有数字的外部文件并将它们复制到列表中。 Python [重复]