Python 将 \n 读取为字符串
Python reads \n as string
我正在使用 python 2.7.9
和 OS X Yosemite。我有一个名为 list.dat
的文件,其中包含以下内容:
item1, a
item2, b
item3, c
我有一个 python 脚本:
list=[]
f=open('list.dat','r')
for line in f.readlines():
list.append(line.rsplit(','))
f.close()
print list
产生输出:
[['item1', ' a\n'], ['item2', ' b\n'], ['item3', ' c']]
\n
应该出现在输出中吗?如果是这样,我怎样才能修改代码,使他们不这样做?
'\n'
表示一个新行,它显然存在于您的文本文件中。因此,'\n'
s 应该出现在输出中。
基本上,您的 .dat
文件是:
item1, a\n
item2, b\n
item3, c\n
要删除它,请尝试以下操作:
list=[]
f=open('list.dat','r')
for line in f.readlines():
list.append(line.strip('\n').rsplit(','))
f.close()
print list
这使用 str.strip('\n')
从字符串中删除换行符 ('\n'
s)。
>>> list=[]
>>> f=open('list.dat','r')
>>> for line in f.readlines():
... list.append(line.strip('\n').rsplit(','))
...
>>> f.close()
>>>
>>> print list
[['item1', ' a'], ['item2', ' b'], ['item3', ' c']]
>>>
'\n' 是换行符。您必须手动删除它或使用 csv
-module:
import csv
with open('list.dat') as f:
data = list(csv.reader(f))
print data
您可以添加 replace
或 strip
函数。
永远不要将您的列表命名为 "list"
因为 list is a python builtin.
list1=[]
f=open('list.dat','r')
for line in f.readlines():
list1.append(line.rsplit(',').strip('\n'))
f.close()
print list1
我正在使用 python 2.7.9
和 OS X Yosemite。我有一个名为 list.dat
的文件,其中包含以下内容:
item1, a
item2, b
item3, c
我有一个 python 脚本:
list=[]
f=open('list.dat','r')
for line in f.readlines():
list.append(line.rsplit(','))
f.close()
print list
产生输出:
[['item1', ' a\n'], ['item2', ' b\n'], ['item3', ' c']]
\n
应该出现在输出中吗?如果是这样,我怎样才能修改代码,使他们不这样做?
'\n'
表示一个新行,它显然存在于您的文本文件中。因此,'\n'
s 应该出现在输出中。
基本上,您的 .dat
文件是:
item1, a\n
item2, b\n
item3, c\n
要删除它,请尝试以下操作:
list=[]
f=open('list.dat','r')
for line in f.readlines():
list.append(line.strip('\n').rsplit(','))
f.close()
print list
这使用 str.strip('\n')
从字符串中删除换行符 ('\n'
s)。
>>> list=[]
>>> f=open('list.dat','r')
>>> for line in f.readlines():
... list.append(line.strip('\n').rsplit(','))
...
>>> f.close()
>>>
>>> print list
[['item1', ' a'], ['item2', ' b'], ['item3', ' c']]
>>>
'\n' 是换行符。您必须手动删除它或使用 csv
-module:
import csv
with open('list.dat') as f:
data = list(csv.reader(f))
print data
您可以添加 replace
或 strip
函数。
永远不要将您的列表命名为 "list"
因为 list is a python builtin.
list1=[]
f=open('list.dat','r')
for line in f.readlines():
list1.append(line.rsplit(',').strip('\n'))
f.close()
print list1