Python:将文件从一个目录复制到另一个目录,读取层列
我有一个包含两列的表,其中有指向目录和/或文件的链接,并且为NULL 每个记录都有一列“NAME”作为新目录的名称 像这样的Python:将文件从一个目录复制到另一个目录,读取层列,python,copy,Python,Copy,我有一个包含两列的表,其中有指向目录和/或文件的链接,并且为NULL 每个记录都有一列“NAME”作为新目录的名称 像这样的 ... NAME HOTLINK1 HOTLINK2 ... name1 C:\...\directory1 C:\...\directory6\file ... name2 C:\...\directory2 NULL ... name3 C:\...\directory5\file
... NAME HOTLINK1 HOTLINK2
... name1 C:\...\directory1 C:\...\directory6\file
... name2 C:\...\directory2 NULL
... name3 C:\...\directory5\file C:\...\directory
... name4 NULL NULL
我正试图编写一个代码,将目录(包括子目录)和文件的全部内容从HOTLINK1和HOTLINK2复制到新目录“NAME”
因此:
- 如果热链接是一个目录>>>复制目录的全部内容(包括子目录)
- 如果热链接是一个文件>>>请复制该文件
- 如果为空>>通过
- 如何读取每一行和链接列,通过换行符解析字符串,以及通过空格拆分字符串都应该是可行的
- 如何判断路径是文件还是目录(或至少存在)?尝试
模块os.path
- 如何复制文件或文件夹?尝试使用
模块shutil
- 注意Windows系统文件路径中的反斜杠,它需要转义 结果是真是假
- 您已经有了一个非常清晰的人类语言方法,也许只需要一些技巧就可以用Python代码编写它们
print(os.path.exists("/home/el/myfile.txt"))
import shutil
shutil.copytree('hotlink1', 'hotlink2')
结果是真是假
print(os.path.exists("/home/el/myfile.txt"))
import shutil
shutil.copytree('hotlink1', 'hotlink2')
感谢@和@的建议,我已经编写了这段代码。 它使用了一列HOTLINK1的值。现在我不知道如何添加代码来生成与HOTLINK2值相同的东西,而名为“NAME”的文件夹已经存在:
import shutil
import csv
import os
source='D:\\Prova_copy_pyhton\\'
with open('D:\\Prova_copy_pyhton\\list.csv') as csvfile:
reader = csv.DictReader(csvfile, delimiter=';')
for row in reader:
a = row['hotlink1']
fa= os.path.basename(a)
out = row['name']
if os.path.isdir(a):
shutil.copytree(a, os.path.join(source, out))
elif os.path.exists(a):
try:
os.stat(os.path.join(source, out))
except:
os.mkdir(os.path.join(source, out))
shutil.copy(a, source+out+'\\'+fa)
请尝试解决这个问题,而不是要求我们为您编写代码。对不起,您是对的。我更改了请求的类型。根据最后一个答案,我正在编写一些代码。人类语言很清晰,但我是Pyton初学者:-)。我试着用逻辑推理。