裁剪python中的字符

时间:2013-07-02 00:20:43

标签: python python-2.7

我是Python新手,我有一个包含数字的.txt文件,我用Python将它们读入一个数组,代码如下:

numberInput = []
with open('input.txt') as file:
     numberInput = file.readlines()
print numberInput

不幸的是,输出看起来像这样:

['54044\r\n', '14108\r\n', '79294\r\n', '29649\r\n', '25260\r\n', '60660\r\n', '2995\r\n', '53777\r\n', '49689\r\n', '9083\r\n', '16122\r\n', '90436\r\n', '4615\r\n', '40660\r\n', '25675\r\n', '58943\r\n', '92904\r\n', '9900\r\n', '95588\r\n', '46120']

如何裁掉数组中每个数字附加的\r\n个字符?

2 个答案:

答案 0 :(得分:2)

您在字符串末尾看到的\r\n是换行符指示符(回车符后跟换行符)。您可以使用str.strip轻松删除它:

numberInput = [line.strip() for line in file]

这是一个列表解析,它遍历你的文件(一次一行)并剥离在行的任何一端找到的任何空格。

如果您希望将文件中的数字用作整数,则实际上可以避免剥离线,因为int构造函数将忽略任何空格。以下是您直接进行转换时的样子:

numberInput = [int(line) for line in file]

答案 1 :(得分:1)

您应该使用str.splitlines()代替readlines()

numberInput = []
with open('input.txt') as file:
     numberInput = file.read().splitlines()
print numberInput

这会读取整个文件并按“通用换行符”拆分,这样您就可以获得不含\r\n的相同列表。

看到这个问题: Best method for reading newline delimited files in Python and discarding the newlines?