如何在 Python 中删除 \r 而不删除 \n

问题描述

我找到了 this answer,但它是在 Perl 中,我无法理解解决方

我必须通过这个文档测试:

**********************************************************************
File "c:\Users\sb\Desktop\test_wc\doctest_wc.py",line 4,in __main__
Failed example:
    subprocess.check_output('python3 wc.py ./testinputs/text1.txt ',shell=True)
Expected:
    b'\t10\t10\t20\t./testinputs/text1.txt\n'
Got:
    b'\t10\t10\t20\t./testinputs/text1.txt\r\n'
**********************************************************************
File "c:\Users\sb\Desktop\test_wc\doctest_wc.py",line 8,in __main__
Failed example:
    subprocess.check_output('python3 wc.py ./testinputs/text.txt',shell=True)
Expected:
    b'wc.py: ./testinputs/text.txt: No such file or directory\n'
Got:
    b'wc.py: ./testinputs/text.txt: No such file or directory\r\n'
**********************************************************************
File "c:\Users\sb\Desktop\test_wc\doctest_wc.py",line 12,in __main__
Failed example:
    subprocess.check_output('python3 wc.py ./testinputs/empty.txt',shell=True)
Expected:
    b'\t0\t0\t0\t./testinputs/empty.txt\n'
Got:
    b'\t0\t0\t0\t./testinputs/empty.txt\r\n'
**********************************************************************
File "c:\Users\sb\Desktop\test_wc\doctest_wc.py",line 16,in __main__
Failed example:
    subprocess.check_output('python3 wc.py ./testinputs/text2.txt',shell=True)
Expected:
    b'\t2\t8\t52\t./testinputs/text2.txt\n'
Got:
    b'\t2\t8\t52\t./testinputs/text2.txt\r\n'
**********************************************************************
1 items had failures:
   4 of   5 in __main__
***Test Failed*** 4 failures.

这是我提交的尝试:

sys.stdout.write(main().strip("\r") + str("\n")) # main() returns a string

当我删除 \r 时,\n 会随之消失,当我重新插入 \n 时,\r 会随之出现

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)