alw*_*btc -5 python string list strip
我有一个my_file包含两行的文件():
"002000", "WAYNE", "ROONEY", "M", 16SEP2012, 31DEC1977, 25OCT1968, 999999, "UK", "380", VOID;
"002001", "JOE", "COLE", "M", 16SEP2012, 31DEC1977, 13FEB1972, 999999, "UK", "390", VOID;
Run Code Online (Sandbox Code Playgroud)
我做:
f = open(my_file)
lines = [line.strip() for line in f]
f.close()
for line in lines:
print line
print type(line)
print "------------------"
for line in lines:
print line.strip(",")
print type(line.strip(","))
Run Code Online (Sandbox Code Playgroud)
在输出中:
"002000", "WAYNE", "ROONEY", "M", 16SEP2012, 31DEC1977, 25OCT1968, 999999, "UK", "380", VOID;
<type 'str'>
"002001", "JOE", "COLE", "M", 16SEP2012, 31DEC1977, 13FEB1972, 999999, "UK", "390", VOID;
<type 'str'>
------------------
"002000", "WAYNE", "ROONEY", "M", 16SEP2012, 31DEC1977, 25OCT1968, 999999, "UK", "380", VOID;
<type 'str'>
"002001", "JOE", "COLE", "M", 16SEP2012, 31DEC1977, 13FEB1972, 999999, "UK", "390", VOID;
<type 'str'>
Run Code Online (Sandbox Code Playgroud)
我list在2nd for循环中感知对象,因为我strip(",")在每一行都使用方法,但它仍然返回<type 'str'>.怎么了?
str.strip 删除环绕字符:
>>> ',,a,b,,'.strip(',')
'a,b'
Run Code Online (Sandbox Code Playgroud)
使用str.split以获取列表:
>>> 'a,b,c'.split(',')
['a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)
>>> line = '"002000", "WAYNE", "ROONEY", "M", 16SEP2012, 31DEC1977, 25OCT1968, 999999, "UK", "380", VOID;"'
>>> [x.strip('" ') for x in line.split(',')]
['002000', 'WAYNE', 'ROONEY', 'M', '16SEP2012', '31DEC1977', '25OCT1968', '999999', 'UK', '380', 'VOID;']
Run Code Online (Sandbox Code Playgroud)