2017-09-04 96 views
0

是否可以创建一个变量来存储产品列表,而不是使用“行”变量。当创建一个文本文件在Python中创建文本文件

#creating a textfile 

text_file= open("productlist.txt", "w") 

lines = ("Bed","\n","Couch","\n","Mirror","\n","Television","\n" 
     "Tables","\n","Radio") 


text_file.writelines(lines) 
text_file.close() 

text_file = open("productlist.txt") 
print(text_file.read()) 
text_file.close() 
+0

你的意思是'lines = text_file.readlines()'也许? –

+0

@ Jean-FrançoisFabre不,我想知道是否可以在创建此列表时使用其他变量 lines =(“Bed”,“\ n”,“Couch”,“\ n”,“Mirror”, “\ n”,“电视”,“\ n”“表格”,“\ n”,“收音机”) – Charisma

+1

我真的不知道你的意思。您可以根据需要创建尽可能多的变量。 –

回答

0

而不是写每一行,换行,单独使用writelines,您可以创建一个包含所有行一个字符串和换行符write这一点。

为了从项目列表创建组合字符串,您可以使用join

products = ["Bed", "Couch", "Mirror", "Television", "Tables", "Radio"] 
text_file.write("\n".join(products)) 

(请注意,(a, b, c)创建一个元组,而[a, b, c]创建一个列表,你可能想了解的差异,但在这种情况下,它并不重要。)

1

我相信你”重新尝试完成就是不要每次都在那里写一个换行符“\ n”,对吧?只要把你的代码放到一个循环:

#Create text file 
text_file = open("productlist.txt", "w") 

#Enter list of products 
products = ["Bed", "Couch", "Mirror", "Television", "Tables", "Radio"] #Formerly "lines" variable 

#Enter each product on a new line 
for product in products: 
    text_file.writelines(product) 
    text_file.writelines('\n') 

#Close text file for writing 
text_file.close() 

#Open text file for reading 
text_file = open("productlist.txt") 
print(text_file.read()) 

#Close text file 
text_file.close() 

如果你决定要追加到您的文档,而不是每次都覆盖它,只是改变 text_file =打开(“productlist.txt”,“W”) 到 text_file =打开(“productlist.txt”,“A”)

如果一个文本文档不是你的列表中选择最佳的格式,你可以考虑exporting to a csv file(您可以在Excel电子表格中打开)

+0

这使得这么多的意义,它的可读性更强,使用时(和[当给变量赋值时有区别 – Charisma

+0

是的,@ mkrieger1解释如下在他的答案中,使用(产品)将产生一个元组,而[产品]将产生一个列表。我会做一个谷歌搜索并了解其中的差别 –

+0

为什么不用'with open()'btw? – SitiSchu