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:读取文本文件并将其中列出的目录复制/粘贴到新目录的主要内容,如果未能解决你的问题,请参考以下文章