我忘了添加,我必須從 python 調用 shell,我有一個文件cat file.txtbbbbbb如果只有“bb”存在則打印,否則失敗,str=subprocess.check_output('grep bb file.txt || echo 2',shell=True)print 'str='+str # This always str=bb and an extra lineif (str == 'bb'): # Wish better way like str == '1' print "Pass"elif(str == '2') : print "Fail"我認為應該有更好的處理方式。
1 回答

MYYA
TA貢獻1868條經驗 獲得超4個贊
嘗試打開文件并逐行或整體讀取它:
作為一個整體
with open("file.txt", "r") as file:
data = file.read()
if "bbb" in data:
print("Pass")
else:
print("Fail")
或者一行一行
with open("file.txt", "r") as file:
line = file.readline()
while line:
if "bbb" == line:
print("Pass")
break
line = file.readline()
print("Fail")
編輯:我看到你編輯了你的問題。if 語句可以更改并且不會影響程序,因此您檢查的內容無關緊要(例如'bbb' 或'11')。逐行檢查也是一個更好更快的選擇。
添加回答
舉報
0/150
提交
取消