首页 > 解决方案 > Python 3 从打印输出创建目录名称

问题描述

我有以下代码:

from lxml import html
import pathlib
import requests
from bs4 import BeautifulSoup as bs
import re
import sys
import os
import lxml.html
url = sys.argv[1]
page = requests.get(url)
tree = lxml.html.fromstring(page.content)
names = tree.xpath('//div[@class="course-title"]/text()')
names = filter(lambda n: n.strip(), names)
table = str.maketrans(dict.fromkeys('?:/'))
for index, name in enumerate(names):
print('{}MY - {}'.format(index, name.strip().translate(table)))

os.makedirs('names')

我想在脚本运行的位置创建一个目录。目录名称应与打印输出相同,但没有编号。

标签: python

解决方案


如果我正确理解了问题,您只需将名称提供给os.mkdir()(not os.makedirs()),这可以使用与打印相同的技术来完成!这是一个例子:

from lxml import html
import pathlib
import requests
from bs4 import BeautifulSoup as bs
import re
import sys
import os
import lxml.html
url = sys.argv[1]
page = requests.get(url)
tree = lxml.html.fromstring(page.content)
names = tree.xpath('//div[@class="course-title"]/text()')
names = filter(lambda n: n.strip(), names)
table = str.maketrans(dict.fromkeys('?:/'))
for index, name in enumerate(names):
    print('{}MY - {}'.format(index, name.strip().translate(table)))
    os.mkdir('{}'.format(name.strip().translate(table)))

推荐阅读