我有一些关于复制文件夹结构的问题。实际上,我需要将PDF文件转换为文本文件。因此,我在导入PDF的地方有这样一个文件夹结构:
D:/f/subfolder1/subfolder2/a.pdf
我想在“D:/g/subfolder1/subfolder2/
”下创建完全相同的文件夹结构,但不包括pdf文件,因为我需要在这个位置放置转换后的文本文件。所以,在转换功能之后,它给了我
D:/g/subfolder1/subfolder2/a.txt
另外我想补充一下,如果在“D:/g/
”下不存在相同的文件夹结构,请添加函数以确保在创建之前。
这是我的当前代码。那么如何在没有文件的情况下创建相同的文件夹结构呢?
谢谢!
import converter as c
import os
inputpath = 'D:/f/'
outputpath = 'D:/g/'
for root, dirs, files in os.walk(yourpath, topdown=False):
for name in files:
with open("D:/g/"+ ,mode="w") as newfile:
newfile.write(c.convert_pdf_to_txt(os.path.join(root, name)))
dirpath[len(inputpath):]
假设inputpath
以路径名组件分隔符(如'/'
)结尾,这与问题中显示的内容相匹配,但通常在指定目录路径时不需要(因此经常不存在),但此代码依赖于它。 - martineauos.path.relpath(dirpath, inputpath)
代替dirpath[len(inputpath):]
,这样可以适用于任何情况。这表明,将路径管理视为简单的字符串会带来麻烦,因此采用这种方式可以避免这种问题的潜在风险。 - martineau