如何在Python中从文本文件创建文件夹

2024-09-30 05:22:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的新手,尝试根据文本文件在层次结构中创建文件夹。你知道吗

例如,文本如下所示:

ant:ant:jar:1.5.1

com.fasterxml.jackson.core:jackson-annotations:jar:2.8.10

com.fasterxml.jackson.core:jackson-core:jar:2.7.3

com.fasterxml.jackson.core:jackson-core:jar:2.8.10

需要按如下方式创建文件夹:

ant\ant\1.5.1

com\fasterxml\jackson\core\jackson-annotations\2.8.0

com\fasterxml\jackson\core\jackson-core\2.7.3

com\fasterxml\jackson\core\jackson-core\2.8.10

PAR部分代码:(关闭.txt)你知道吗

with open('off.txt') as f:

content = f.readlines()

for dependency in content:

slicedDependency = dependency.split(':')

var0 = slicedDependency[0]

if not var0.__contains__('.'):
    var1 = slicedDependency[1]
    var2 = slicedDependency[2]
    var4 = slicedDependency[3]

else:
    folderHirearchy = var0.split('.')

    if var0.__contains__('.'):

        for folder in folderHirearchy:
            print(folder)

编写文件夹的部分代码:

    # Set local variables
path = "path/offlineTest1"
main_folder_path = os.path.join(path)
main_foldNam1 = line.strip()
sub_folder1_path = os.path.join(main_folder_path, main_foldNam1)

# Create folder if it doesn't exist yet
if os.path.exists(sub_folder1_path):
    print("folder '{}' exists!".format(sub_folder1_path))
else:
    # create directory or directories until sub_folder1_path
    os.makedirs(sub_folder1_path)

Tags: pathcore文件夹comifosmainfolder
1条回答
网友
1楼 · 发布于 2024-09-30 05:22:50

正则表达式对于这样的情况非常有效

import re
import os

expr = re.compile(r"(?<!\d)[.:](?!\d+)")
with open("./off.txt", "r") as f:
  lines = f.readlines()
  """use a list comprehension and re.sub to replace dots and colons with slashes ("/"),
  and the "jar:"
  """
  folders = [
    expr.sub("/", line).replace("jar:","") for line in lines
    if len(line) > 1
  ]

for f in folders:
  print f
  os.makedirs(f)

相关问题 更多 >

    热门问题