我需要阅读src/rgb.txt
包含颜色名称及其 RGB 格式的数字表示的文件(该文件仅在下面部分显示)。每行包含四个字段:红色、绿色、蓝色和颜色名称,每个字段都由一定数量的空格(制表符或空格)分隔。
我尝试使用 Python 的正则表达式(必须使用 re !)编写一个函数,该函数读取文件并应返回字符串列表,因此在返回的列表中它们有四个字段,由单个制表符 ( \t
) 分隔。返回列表中的第一个字符串应该是:
'255\t250\t250\tsnow'
.
文本文件:
255 250 250 snow
248 248 255 ghost white
248 248 255 GhostWhite
245 245 245 white smoke
245 245 245 WhiteSmoke
220 220 220 gainsboro
255 250 240 floral white
255 250 240 FloralWhite
到目前为止,我的代码如下所示:
import re
def red_green_blue(filename='src/rgb.txt'):
with open('src/rgb.txt', "r") as f:
for line in f:
line = f.read().splitlines()
for i in range(len(line)):
new_line = re.sub("^\t+|\t+$", "", str(line[i]), flags=re.UNICODE)
d1 = " ".join(re.split("\t+", str(new_line), flags=re.UNICODE))
print(d1, type(d1))
return d1
我想知道是否有任何其他方法可以使用其他正则表达式来解决此任务,例如findall
,search
等。
我还想知道如何显示\t
,因为在我的情况下,我看到标签,但不是作为\t
,即169 169 169 DarkGray
而不是169\t169\t169\tDarkGray
。