Python 3.6文件读写问题:如何拆分读取保存的姓名与年龄
解决Python 3.6中读取name和age并拆分为独立项的问题
嘿,我来帮你搞定这个问题!其实拆分list为独立的name和age非常简单,咱们一步步来:
第一步:确保数据正确写入文件
首先得保证你保存数据的时候,是用**制表符(\t)**分隔name和age的,这样读取时才能准确拆分。比如保存代码可以这么写:
# 示例:保存单个用户的name和age name = "Lucy" age = 30 with open("user_data.txt", "w", encoding="utf-8") as file: # 用制表符分隔,每行存一个用户数据 file.write(f"{name}\t{age}\n") # 如果要保存多个用户,循环写入即可 users = [("Bob", 28), ("Alice", 25)] with open("user_data.txt", "a", encoding="utf-8") as file: for user_name, user_age in users: file.write(f"{user_name}\t{user_age}\n")
第二步:读取文件并拆分为独立项
读取时,你用split()得到list后,直接用变量解包就能把list里的元素分别赋值给name和age啦,不用单独去取列表索引。代码示例:
with open("user_data.txt", "r", encoding="utf-8") as file: # 逐行读取文件 for line in file: # 先去掉行尾的换行符和多余空格 cleaned_line = line.strip() # 跳过空行 if not cleaned_line: continue # 按制表符拆分,直接解包到name和age变量 name, age = cleaned_line.split("\t") # 注意:读取出来的age是字符串,如果需要数值类型,转成int即可 age = int(age) # 按要求的格式输出 print(f"{name}\t{age}") # 也可以单独使用这两个变量做其他操作 print(f"姓名:{name},年龄:{age}")
额外提示:处理异常情况
如果文件里有格式不正确的行(比如没有制表符、age不是数字),可以加个异常处理避免程序崩溃:
with open("user_data.txt", "r", encoding="utf-8") as file: for line_num, line in enumerate(file, start=1): cleaned_line = line.strip() if not cleaned_line: continue try: name, age = cleaned_line.split("\t") age = int(age) print(f"{name}\t{age}") except ValueError: print(f"⚠️ 第{line_num}行格式错误,跳过:{cleaned_line}")
这样你就能轻松把读取到的列表拆成独立的name和age变量啦!
内容的提问来源于stack exchange,提问作者Lucy Kim
相关产品推荐
相关产品推荐

