Python 下载多个文本文件并将它们分开?

Python 下载多个文本文件并将它们分开?,python,python-3.x,download,Python,Python 3.x,Download,我正在尝试下载多个txt文件,但不是将它们合并成一个,而是希望将它们分开并重命名-有没有建议如何在Python中最好地做到这一点 以下是想法: from gutenberg.acquire import load_etext from gutenberg.cleanup import strip_headers text_list=[161, 121, 105] #should be Jane Austen novels with open(path + "directory", w):

我正在尝试下载多个txt文件,但不是将它们合并成一个,而是希望将它们分开并重命名-有没有建议如何在Python中最好地做到这一点

以下是想法:

from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers

text_list=[161, 121, 105] #should be Jane Austen novels
with open(path + "directory", w):
    for text in text_list:
        text = strip_headers(load_etext(text)).strip()
        save and rename them individually in the same directory
以下是适用于合并文本文件的代码:

with open(path + '/merged.txt', 'w') as f:
for text in text_list:
    text = strip_headers(load_etext(text)).strip()
    f.write(text)

我将交换循环和文件管理器,迭代要保存的每个文本,并使用唯一的名称将其写入文件(我假设
text\u列表
列表只包含唯一的文本名称)<代码>路径应以
/
结尾,如果您想便于携带,请使用
os.path

from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers

text_list = [161, 121, 105]
path = "."

for text in text_list:
    with open(f"{path}/{text}", "w") as f:
        f.write(strip_headers(load_etext(text)).strip())

我将交换循环和文件管理器,迭代要保存的每个文本,并使用唯一的名称将其写入文件(我假设
text\u列表
列表只包含唯一的文本名称)<代码>路径应以
/
结尾,如果您想便于携带,请使用
os.path

from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers

text_list = [161, 121, 105]
path = "."

for text in text_list:
    with open(f"{path}/{text}", "w") as f:
        f.write(strip_headers(load_etext(text)).strip())

我只想做以下几件事:

from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers

text_list   = [fn1:"text_1", fn2:"text_2", fn3:"text_3"]
saved_files = {}
for text in text_list:
    saved_file[text] = open(path + text,'w')
    saved_file[text].write(strip_headers(load_etext(text_list[text])).strip())
    saved_file[text].close()

编辑:删除不必要的导入

我只需执行以下操作:

from gutenberg.acquire import load_etext
from gutenberg.cleanup import strip_headers

text_list   = [fn1:"text_1", fn2:"text_2", fn3:"text_3"]
saved_files = {}
for text in text_list:
    saved_file[text] = open(path + text,'w')
    saved_file[text].write(strip_headers(load_etext(text_list[text])).strip())
    saved_file[text].close()

编辑:删除不必要的导入

文件位于您的目录(笔记本电脑中)或internet上?源文件是从internet下载的,它们在我的机器上不存在o
text\u list=[text\u 1,text\u 2,text\u 3]
表示
url=[url1,url2,url3]
,是否正确,这些是古腾堡图书馆中的文本ID。gutenberg软件包下载命令将是text=load_etext(text),位于文本列表中的for text下方:。请通过共享该代码并清楚解释所需结果。文件位于您的目录(笔记本电脑中)或internet上?源文件将从internet下载,它们在我的机器上不存在o
text\u list=[text\u 1,text\u 2,text\u 3]
表示
url=[url1,url2,url3]
,是否正确?不,这些是古腾堡库中的文本ID。gutenberg软件包下载命令将是text=load\u etext(text),位于文本列表中的for text下方:。请通过共享该代码并清楚解释所需结果。保存的文件[text]=open(text,'w')抛出:[Errno 9]错误的文件描述符。此外,由于列的原因,text_列表抛出无效语法。saved_file[text]=open(text,'w')抛出[Errno 9]错误的文件描述符。此外,由于列的原因,text_列表抛出无效语法。抛出一个错误“只能将str(而不是“int”)连接到str”啊,我想
text_1
是一个字符串。感谢您提供实际的代码。请参阅更新。抛出错误:[Errno 2]没有这样的文件或目录:'path/161'@corio那么这对您有用吗?在这里运行:没问题,很高兴它成功了。顺便说一句,如果你正在下载很多项目(几十个/几百个),你可能想使用多线程来完成。抛出一个错误“只能将str(而不是“int”)连接到str”啊,我想
text\u 1
是一个字符串。感谢您提供实际的代码。请参阅更新。抛出错误:[Errno 2]没有这样的文件或目录:'path/161'@corio那么这对您有用吗?在这里运行:没问题,很高兴它成功了。顺便说一句,如果您正在下载许多项目(几十个/数百个),您可能希望使用多线程来完成这项工作。