如何将这些名称变成电子邮件形式?

时间:2017-10-04 05:18:00

标签: python

我需要将这些名称放入电子邮件中。

例如,我有这些名单:

saint christopher
lebron james
kevin durant
kyrie andrew irving
d j khaled
bloodpop(r)

需要得到结果:

schristo@gmail.com
ljames@gmail.com
kdurant@gmail.com
kairving@gmail.com
djkhaled@gmail.com
bloodpop@gmail.com

我已将它们变成小写并尝试使用split()但不起作用。

我做了:

fname = input("Enter filename:")
infile = open(fname, "r")

for line in infile:
    first,last = line.lower().split()
    uname = (first[0] + last[:8])
    print(uname)
infile.close()

我收到错误消息:

  first,last = line.lower().split()
ValueError: too many values to unpack (expected 2)

2 个答案:

答案 0 :(得分:2)

你可以使用splat tuple赋值将firsts从最后一个分开,抓取每个firsts的第一个首字母,然后用最后一个连接它们并切掉前8个字符。

def make_username(name, suffix="gmail.com"):
    *firsts, last = name.lower().split()
    initials = ''.join([s[0] for s in firsts])
    username = ''.join([initials, last])[:8]
    return f"{username}@{suffix}"

答案 1 :(得分:-1)

试试这个..

email_name = 'saint christopher'

import string

new_str = string.replace(email_name,' ', '')
print(new_str)

它让你出局:     saintchristopher