将文件名保存为Python中的变量名称

问题描述:

我想将我的python保存为json文件,但事实是,我需要将我的json文件名称命名为标题名称。将文件名保存为Python中的变量名称

代码:

data={ 
    "Title" : title.text, 
    "Registration": doctor.text, 
    "Keywords": list2, 
    "Article": list 
} 
#title.text="banana" 

with open('title.text.json', 'w',encoding='UTF-8') as f: 
    json.dump(data, f,ensure_ascii=False) 

我的预期结果是:将它保存为banana.json

编辑: 它的工作原理与此

with open('%s.json' % title_tag.text, 'w',encoding='UTF-8') as f: 
    json.dump(data, f,ensure_ascii=False) 
+0

你明确地打开了一个名为'data.json'的文件,然后写信给它,你为什么期望它写入'banana.json'? – ShadowRanger

+1

[python插入变量字符串作为文件名]的可能重复(https://*.com/questions/14622314/python-inserting-variable-string-as-file-name) – Unni

+0

@ShadowRanger只需编辑它。 – Makiyo

您可以使用下面的代码来实现这个:

with open(title.text, 'w', encoding='UTF-8') as f: 
    json.dump(data, f, ensure_ascii=False) 
+0

它将它保存为html文件,而不是json文件 – Makiyo

+0

你可以使用string.format来格式化你的字符串.... '''with open('{file_name} .html'.format(file_name = title.text),'w',encoding ='UTF-8')作为f''' 在python3.6中,您可以通过*打开(f“{title.text} .html” 'w',encoding ='UTF'8')as f * – Ballack

+0

with open('%s.json'%title_tag.text,'w',encoding ='UTF-8')as f: json.dump数据,f,ensure_ascii = False) – Makiyo