写入文件时剥离不需要的字符
Stripping Unwanted Characters When Writing To A File
我在删除 Python 中不需要的字符时遇到了一些问题。
以下代码是从文件中提取的(尽管文件中不包含 \rn\n[]' 字符。)
我想去掉上面列出的所有不必要的字符,这样我就只有数字和文本,然后将它们写入另一个文件。我尝试了很多方法,例如 line.strip 但其中 none 有效。
这是我现在写入文件的方式;
product = str(product)
f.write(product)
这是结果
['34512340', 'Plain Brackets', '0.5\r\n']
如果有人能简单地解释一下我需要添加什么来删除不需要的字符,我将不胜感激。谢谢
这是一个例子:
elements = ['34512340', '0.5\r\n', 'Plain Brackets'];
number_of_elements = len(elements);
for i in xrange(0, number_of_elements):
elements[i] = elements[i].rstrip('\r\n'); # instead of specific symbols, you can also create a list to filter here
print elements[i];
只是为了一些变化:
list(map(lambda x:str(x).rstrip('\r\n'),['34512340', 'Plain Brackets', '0.5\r\n']))
我非常喜欢在对列表中的所有项目应用逻辑时使用内置函数映射。只是单行而不是循环。性能方面不确定它是如何叠加的我从来没有处理过足够大的列表,这会有所不同所以我更喜欢一个衬垫。
Map 将一个函数作为一个参数,然后将一个列表或可迭代类型作为第二个参数,并将该函数应用于列表中的所有项目。我传递了一个lambda函数声明只是为了让它更简洁。
#list of lines
lines = ['34512340', '0.5\r\n', 'Plain Brackets'];
#looping through the whole list
for i in range(len(lines)):
#stripping unwanted characters \n and \r from each line
lines[i] = lines[i].rstrip('\n').rstrip('\r')
#printing the line without the unwanted characters
print lines[i]
输出:
34512340
0.5
Plain Brackets
我在删除 Python 中不需要的字符时遇到了一些问题。 以下代码是从文件中提取的(尽管文件中不包含 \rn\n[]' 字符。)
我想去掉上面列出的所有不必要的字符,这样我就只有数字和文本,然后将它们写入另一个文件。我尝试了很多方法,例如 line.strip 但其中 none 有效。
这是我现在写入文件的方式;
product = str(product)
f.write(product)
这是结果
['34512340', 'Plain Brackets', '0.5\r\n']
如果有人能简单地解释一下我需要添加什么来删除不需要的字符,我将不胜感激。谢谢
这是一个例子:
elements = ['34512340', '0.5\r\n', 'Plain Brackets'];
number_of_elements = len(elements);
for i in xrange(0, number_of_elements):
elements[i] = elements[i].rstrip('\r\n'); # instead of specific symbols, you can also create a list to filter here
print elements[i];
只是为了一些变化:
list(map(lambda x:str(x).rstrip('\r\n'),['34512340', 'Plain Brackets', '0.5\r\n']))
我非常喜欢在对列表中的所有项目应用逻辑时使用内置函数映射。只是单行而不是循环。性能方面不确定它是如何叠加的我从来没有处理过足够大的列表,这会有所不同所以我更喜欢一个衬垫。
Map 将一个函数作为一个参数,然后将一个列表或可迭代类型作为第二个参数,并将该函数应用于列表中的所有项目。我传递了一个lambda函数声明只是为了让它更简洁。
#list of lines
lines = ['34512340', '0.5\r\n', 'Plain Brackets'];
#looping through the whole list
for i in range(len(lines)):
#stripping unwanted characters \n and \r from each line
lines[i] = lines[i].rstrip('\n').rstrip('\r')
#printing the line without the unwanted characters
print lines[i]
输出:
34512340
0.5
Plain Brackets