我有一个。txt文件的值。
这些值如下所示:
Value1
Value2
Value3
Value4
我的目标是将值放在一个列表中。当我这样做时,列表看起来像这样:
['Value1\n', 'Value2\n', .〕
\n不需要。
这是我的代码:
t = open('filename.txt')
contents = t.readlines()
我有一个。txt文件的值。
这些值如下所示:
Value1
Value2
Value3
Value4
我的目标是将值放在一个列表中。当我这样做时,列表看起来像这样:
['Value1\n', 'Value2\n', .〕
\n不需要。
这是我的代码:
t = open('filename.txt')
contents = t.readlines()
当前回答
我有同样的问题,我发现下面的解决方案是非常有效的。我希望它能帮助你或其他想做同样事情的人。
首先,我将以“with”语句开始,因为它确保了文件的正确打开/关闭。
它应该看起来像这样:
with open("filename.txt", "r+") as f:
contents = [x.strip() for x in f.readlines()]
如果你想将这些字符串(内容列表中的每一项都是字符串)转换为整数或浮点数,你可以执行以下操作:
contents = [float(contents[i]) for i in range(len(contents))]
如果要转换为整数,请使用int而不是float。
这是我在SO里的第一个答案,如果格式不对,很抱歉。
其他回答
对于列表中的每个字符串,使用.strip()来移除字符串开头或结尾的空白:
for i in contents:
alist.append(i.strip())
但是根据您的用例,使用numpy之类的东西可能会更好。Loadtxt或者numpy。如果需要从文件中读取的数据数组,则使用Genfromtxt。
我会这样做:
alist = [line.rstrip() for line in open('filename.txt')]
or:
with open('filename.txt') as f:
alist = [line.rstrip() for line in f]
我有同样的问题,我发现下面的解决方案是非常有效的。我希望它能帮助你或其他想做同样事情的人。
首先,我将以“with”语句开始,因为它确保了文件的正确打开/关闭。
它应该看起来像这样:
with open("filename.txt", "r+") as f:
contents = [x.strip() for x in f.readlines()]
如果你想将这些字符串(内容列表中的每一项都是字符串)转换为整数或浮点数,你可以执行以下操作:
contents = [float(contents[i]) for i in range(len(contents))]
如果要转换为整数,请使用int而不是float。
这是我在SO里的第一个答案,如果格式不对,很抱歉。
最简单的方法是写入file.readline()[0:-1] 这将读取除最后一个字符(换行符)以外的所有内容。
我最近用它来读取文件中的所有行:
alist = open('maze.txt').read().split()
或者你可以用这个来增加一点额外的安全:
with f as open('maze.txt'):
alist = f.read().split()
它不能在单行文本之间使用空格,但看起来您的示例文件可能没有空格分隔值。这是一个简单的解决方案,它返回一个精确的值列表,并且不为每一个空行(例如文件末尾的换行符)添加一个空字符串:”。