shell脚本Python中的输出值错误
我有一个Python程序,其中我使用了一个返回输出值的shell脚本。下面是我的代码:shell脚本Python中的输出值错误,python,shell,Python,Shell,我有一个Python程序,其中我使用了一个返回输出值的shell脚本。下面是我的代码: #!/usr/bin/env python3 import subprocess import os import sys filename=input("Enter the filename:") val=subprocess.check_output(['bash','./grep.sh',filename]) print(val) grep.sh代码: file=$1 grep
#!/usr/bin/env python3
import subprocess
import os
import sys
filename=input("Enter the filename:")
val=subprocess.check_output(['bash','./grep.sh',filename])
print(val)
grep.sh代码:
file=$1
grep -c "^[0-9]" $file
我的输出:
Enter the filename:lg.txt
b'4\n'
如您所见,它将结果打印为b'4\n'
,而不是仅打印值4
我的代码有什么问题?如何更正此错误?代码中没有错误
前缀表示字节,用于从终端获取严格值b
只是因为这是th终端返回的内容,这是末尾的新行\n
val = subprocess.check_output(['bash','./grep.sh',filename])
result = val.decode('utf-8').rstrip() # decode in UTF-8 then remove newline char