繁体   English   中英

python 将文件从一个目录移到另一个目录

[英]python remove file from one directory to another

我试图使用shutil.move将文件从一个文件夹移动到本地计算机上的另一个文件夹。 但我一直收到这个错误: 在此处输入图像描述

我认为它发生是因为目的地不存在,因为它正是我要移动它的地方。 那么在将文件移到那里之前如何使文件存在呢?

注意:这是我的代码:

import os
import shutil

path = '.\PDF_data\PDF'
record = pd.read_csv('~/Desktop/sec_results1.csv')
for file in tqdm(record['ID Number']):
    pdf = path + '/' + file + '.pdf'
    if os.path.exists(pdf):
        shutil.move(pdf, '~/Desktop/PDF_extracted' + '/' + file + '.pdf')

如果'~/Desktop/PDF_extracted'不是一个已经存在的目录,您必须在将文件移动到那里之前创建它。 您可以使用os.mkdirpathlib.Path.mkdir这样做。

以下是您如何使用其中任何一个来完成此操作:

操作系统文件目录

fpath = '~/Desktop/PDF_extracted'
if not os.path.exists(fpath):
    os.mkdir(fpath)

路径库.Path.mkdir

from pathlib import Path 

fpath = '~/Desktop/PDF_extracted'
path_obj = Path(fpath)
if not path_obj.exists():
    path_obj.mkdir()

边注:

使用文件路径可能很棘手,所以我肯定会建议研究一些os ,尤其是pathlib的文件路径操作方法,它们使生活变得更加轻松,并且在执行此类任务时会大大减少混淆。

额外资源:

import os
import shutil
path = '.'
print(os.path.abspath(path))
os.mkdir("new_folder")
old_folder = "test"
shutil.move("~/Desktop/test/file.txt", "new_folder")
  1. 您位于“.”指示的当前目录中句号,如果你想知道你的绝对路径目录。
  2. 您通过“os.mkdir”代码创建“new_folder”
  3. 假设您的当前目录“~/Desktop”中有“test”文件夹,其中包含要移动的“file.txt”文件。
  4. 'shutil.move' 将帮助您将 'file.txt' 文件从 '~/Desktop/test/' 文件夹移动到 '~/Desktop/new_folder' 文件夹。

我在 Windows 10 上做的,所以~\Desktop不能被识别。 我需要将其更改为 Microsoft 类型,例如./../Desktop

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM