如何使用变量创建文件名

时间:2019-04-17 14:45:46

标签: python-3.x

我是一个完整的新手程序员。这是我在这个论坛上的第一个问题。 我正在尝试使用Python中的报纸模块下载一篇文章,并将其另存为文本文件。我想根据文章本身的标题生成文本文件的名称。我正在执行以下步骤- 我提取文章标题和文章文字。 将文章另存为文本文件时,我使用标题来生成文件名。 但是结果不一致。 我无法使用分配了文章标题的字符串变量来生成文件名。 在某些情况下,例如以下网址,我得到一个空文件 “ https://timesofindia.indiatimes.com/sports/cricket/icc-world-cup/rishabh-     气喘吁吁的ambati-rayudu名为“印度备用杯” /articleshow/68921146.cms”

对于此示例中给出的链接,摘录的标题是2019年印度世界杯足球赛:里沙卜·潘特(Rishabh Pant),安巴蒂·拉杜(Ambati Rayudu)任命印度为世界杯的候补者。 生成的文件名是2019年印度世界杯足球赛。这是字符左侧的文本:。另外,生成的文件的扩展名为.txt

但是,以下网址的相同代码成功运行 “ https://edition.cnn.com/2019/04/16/asia/dog-found-at-sea-thailand-intl/index.html” 该文件已成功保存,因为Dog发现在距泰国海岸135英里处游泳。txt

代码如下。是什么导致此行为?在将其用作文件名之前,是否需要从标题中删除特殊字符(例如:)?如果是的话,那怎么办?非常感谢您的帮助。

import newspaper 
from newspaper import Article

url = "https://timesofindia.indiatimes.com/sports/cricket/icc-world-cup/rishabh- 
pant-ambati-rayudu-named-indias-standbys-for-world-cup/articleshow/68921146.cms"

article = Article(url )
article.download()
article.parse()
text = article.text
filename = article.title
filename = filename+".txt"
f= open("{}".format(filename), "+w")    
f.write(text)
f.close()

0 个答案:

没有答案