亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python:帶有存儲在變量中的grep值的Shell總是附加一行

Python:帶有存儲在變量中的grep值的Shell總是附加一行

收到一只叮咚 2022-07-26 09:39:29
我忘了添加,我必須從 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')。逐行檢查也是一個更好更快的選擇。


查看完整回答
反對 回復 2022-07-26
  • 1 回答
  • 0 關注
  • 63 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號