0

各位大虾好!小虾最近遇到一个很奇葩的问题。

我有一个文件,假设叫list.txt,内容如下:

[root@zabbix opt]# cat list.txt 
1000 lebron_james
9999 kevin_durant
3232 chris_paul
878 james_harden

现在我想得到如下的输出:
lebron_james@qq.com
kevin_durant@qq.com
chris_paul@qq.com
james_harden@qq.com

既然每一个后面都加上@qq.com,于是我就使用for循环来搞呗,我的脚本如下:

#!/usr/bin/env python
import os
import commands

name = commands.getoutput("cat list.txt|awk '{print $2}'")
for i in name:
       a = i + '@qq.com'
       print a

结果执行出来的结果是:
l@qq.com
e@qq.com
b@qq.com
r@qq.com
o@qq.com
n@qq.com
_@qq.com
j@qq.com
a@qq.com
m@qq.com
e@qq.com
s@qq.com

@qq.com
k@qq.com
e@qq.com
v@qq.com
i@qq.com
n@qq.com
_@qq.com
d@qq.com
u@qq.com
r@qq.com
a@qq.com
n@qq.com
t@qq.com
(下略)

为什么会这样?请问应该如何修改?

查看全部 3 个回答

0

已采纳
with open('list.txt','r') as f:
    f=f.readlines()
for i in f:
    print('{user}@qq.com'.format(user=i.split(' ')[1].strip()))

推荐答案

3

awk '{print $2"@qq.com"}' list.txt