Python strip 函数只对字符串的左边有效

Python strip function works only on the left side of a string

我有一个包含文本行的文件,我想去除第一个和最后一个字符,然后将去除的行存储在列表中。文本类似于:

%5 sdgfjfhlsjf %5 %5 alkdregtrlkjdls %5 %5 dgglssj %5

为了去除前导和尾随字符 (%5),我在一些代码变体中使用了 strip 函数,但没有得到预期的结果。前导字符被剥离,但尾随字符仍然存在:

sdgfjfhlsjf %5 alkdregtrlkjdls %5 dgglssj %5

这是我目前尝试实现的代码:

    stripped = []        
    with open ('/path/testfile') as file:
        for line in file.readlines():
            strippedline = line.strip("%5")
            stripped.append(strippedline)

谁能告诉我我的错误是什么?

谢谢

strip 删除两端的字符。在你的情况下,主要问题是你在每个 line 的末尾都有 \n,所以你的代码也应该删除它:

stripped = []        
with open ('/path/testfile') as file:
    for line in file.readlines():
        strippedline = line.strip("\n%5")
        stripped.append(strippedline)