Python如何将列表存储的所有对象属性按指定格式写入txt文件
解决方案
你遇到的问题是直接将列表对象转为字符串输出时,会默认携带方括号和元素分隔逗号,只需要用字符串的join()方法将技能列表拼接为空格分隔的纯字符串即可,具体实现代码如下:
测试打印代码
for p in people: # 用空格拼接技能列表中的所有元素,生成无括号的连续字符串 skill_content = ' '.join(p.skills) # 按要求格式拼接整行内容 print(f"{p.name},{skill_content},{p.age}")
写入txt文件代码
with open("student_info.txt", "w", encoding="utf-8") as f: for p in people: skill_content = ' '.join(p.skills) # 每行末尾加换行符分隔不同学生的信息 f.write(f"{p.name},{skill_content},{p.age}\n")
额外优化建议
你定义的person类中类属性skills = []没有实际作用,初始化方法中已经为每个实例单独声明了self.skills列表,可自行删除冗余的类属性定义。
内容的提问来源于stack exchange,提问作者Nick T
相关产品推荐
相关产品推荐

