Python - 删除文本文件每行的一部分
Python - Delete a part of each line of a textfile
我有一个这样的文本文件:
abc123bvjhfvb:dlnvsl|smth
fsbffsb378hbdcbs:v5v3v|smth
sdcg87wgn8:vy5b4|smth
sin87s88vnus:y54545v4v|smth
rc8n782c:efghrn|smth
如您所见,从第二行开始有一个 space。
如何将这些行转换为这些行?
abc123bvjhfvb:dlnvsl
fsbffsb378hbdcbs:v5v3v
sdcg87wgn8:vy5b4
sin87s88vnus:y54545v4v
rc8n782c:efghrn
我试过这样的事情:
lines = open("file.txt").readlines()
for x in lines:
x.strip(" ").split("|")
print (x[0])
但它只打印 abc123 的 "a",然后每行打印一系列 space。我认为 [0] 去打印第一个字母而不是在“|”之前打印拆分的第一部分(例如 abc123bvjhfvb:dlnvsl)
问题是 strip
和 split
不会突变 x
。
代码需要使用返回值:
for x in lines:
x = x.strip(" ").split("|")
print (x[0])
您需要在拆分位的末尾添加 [0],否则您是在对字符串进行索引,而不是对拆分的部分进行索引。
你也可以在 strip 和 split 位上分配一个变量,然后打印它,即 y = ... print(y)
我有一个这样的文本文件:
abc123bvjhfvb:dlnvsl|smth
fsbffsb378hbdcbs:v5v3v|smth
sdcg87wgn8:vy5b4|smth
sin87s88vnus:y54545v4v|smth
rc8n782c:efghrn|smth
如您所见,从第二行开始有一个 space。
如何将这些行转换为这些行?
abc123bvjhfvb:dlnvsl
fsbffsb378hbdcbs:v5v3v
sdcg87wgn8:vy5b4
sin87s88vnus:y54545v4v
rc8n782c:efghrn
我试过这样的事情:
lines = open("file.txt").readlines()
for x in lines:
x.strip(" ").split("|")
print (x[0])
但它只打印 abc123 的 "a",然后每行打印一系列 space。我认为 [0] 去打印第一个字母而不是在“|”之前打印拆分的第一部分(例如 abc123bvjhfvb:dlnvsl)
问题是 strip
和 split
不会突变 x
。
代码需要使用返回值:
for x in lines:
x = x.strip(" ").split("|")
print (x[0])
您需要在拆分位的末尾添加 [0],否则您是在对字符串进行索引,而不是对拆分的部分进行索引。
你也可以在 strip 和 split 位上分配一个变量,然后打印它,即 y = ... print(y)