lerrorgk 2017-08-26 09:44 采纳率: 25%
浏览 1434

一个python程序,为什么报错

错误代码: s = '\t'.join([list2_name[i], str(' ----- '), list2_email[i])
^
SyntaxError: invalid syntax
ftele1 = open('TeleAddressBook.txt', 'rb') # rb是为了防止文件中的中文乱码,存储了2进制数据
ftele2 = open('EmailAddressBook.txt', 'rb')

ftele1.readline()  # 跳过第一行
ftele2.readline()
lines1 = ftele1.readlines()  # readlines返回整个文件内容的列表,每项是以换行符结尾的一项字符串
lines2 = ftele2.readlines()

list1_name = []
list1_tele = []
list2_name = []
list2_email = []

for line in lines1:  # 获取第一个文本中的姓名和电话信息
        elements = line.split()  # 通过split获得由tab空格键空格出的姓名信息和电话信息(对于字符串,通过split拆分为一个列表,默认以空格分割)
        list1_name.append(str(elements[0]))
        list1_tele.append(str(elements[1]))  # 将文本读出来的bytes转换为str类型。经测试不加str也可以

for line in lines2:  # 获取第二个文本中的姓名和邮件信息
        elements = line.split()
        list2_name.append(str(elements[0]))
        list2_email.append(str(elements[1]))

###开始处理###
lines = []
lines.append('姓名\t    电话   \t  邮箱\n')  # \t表示tab空格。要想此处中文正确显示,编码方式调为gbk即可

# 按索引方式遍历姓名列表1
for i in range(len(list1_name)):
        s = ''
        if list1_name[i] in list2_name:
                j = list2_name.index(list1_name[i])  # 找到姓名列表1对应列表2中的姓名索引位置
                s = '\t'.join(list1_name[i], list1_tele[i], list2_email[j])
                s += '\n'
        else:
                s = '\t'.join([list1_name[i], list1_tele[i], str('   -----   ')])
                s += '\n'
        lines.append(s)

                # 处理姓名列表2中剩余的姓名
for i in range(len(list2_name)):
        s = ''
        if list2_name[i] not in list1_name:
                s = '\t'.join([list2_name[i], str('   -----   '), list2_email[i])
                s += '\n'
        lines.append(s)

        ftele3 = open('AddressBook.txt', 'w')
        ftele3.writelines(lines)
        ftele3.close()
        ftele1.close()
        ftele2.close()

        print("The addressBooks are merged!")
  • 写回答

3条回答

  • SeaTalks 2017-08-26 15:57
    关注

    s = '\t'.join( [ list2_name[i], str(' ----- '), list2_email[i])

    改为

     s = '\t'.join(list2_name[i], str('   -----   '), list2_email[i])
    
    评论

报告相同问题?

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)