我有一个字符串想要传递给 python 脚本,例如
$printf "tas\nty\n"
产量
tas
ty
但是,当我通过管道(例如 printf "tas\nty\n"| ./pumpkin.py
)时,南瓜.py 是:
#!/usr/bin/python
import sys
data = sys.stdin.readlines()
print data
我得到输出
['tas\n', 'ty\n']
如何防止Python读取换行符?
最佳答案
您可以使用 strip
去除所有空格(在开头和结尾):
data = [s.strip() for s in sys.stdin.readlines()]
如果你最后只需要删除 \n
你可以这样做:
data = [s.rstrip('\n') for s in sys.stdin.readlines()]
或者使用splitlines
方法:
data = sys.stdin.read().splitlines()
关于python - 防止换行符被逐字读取到 python 脚本中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33239807/