bufsize deve essere un numero intero di errore, mentre un grep un messaggio

Sono in esecuzione nella seguente errore durante il tentativo di grep per un messaggio composto di multipli di linee in un registro…qualcuno può fornire input su come risolvere questo errore?

CODICE:-

    print gerrit_commitmsg
    gerritlog = Popen('git','log','--grep','gerrit_commitmsg', stdout=PIPE, stderr=PIPE)
    print gerritlog

Di ERRORE:-

Commit message:-

Build system changes

Build system changes to include packages in the build

Change-Id: I697558f01ae367d2baacdf2c7fcf1a03753edacd

Traceback (most recent call last):
  File "gerrits_in_workspace.py", line 87, in <module>
    main()
  File "gerrits_in_workspace.py", line 77, in main
    grep_commitmsg(gerrit_commitmsg)
  File "gerrits_in_workspace.py", line 48, in grep_commitmsg
    gerritlog = Popen('git','log','--grep','gerrit_commitmsg', stdout=PIPE, stderr=PIPE)
  File "/usr/lib/python2.7/subprocess.py", line 629, in __init__
    raise TypeError("bufsize must be an integer")

OriginaleL’autore user1934146 | 2013-07-24

One Reply
  1. 18

    Il subprocess.Popen classe è previsto un elenco di argomenti come questo:

    Popen(args, bufsize=0, ...)

    Quindi stai passando:

    • args = git
    • bufsize = log

    Quindi l’errore (bufsize prevede un valore intero). Il comando vettoriale deve essere un elenco, come questo:

    gerritlog = Popen(['git','log','--grep','gerrit_commitmsg'], stdout=PIPE, stderr=PIPE)
    grazie,anche io voglio grep per ciò che è in gerrit_commitmsg ma non la stringa gerrit_commitmsg stesso,eventuali suggerimenti su come si può fare?
    Questo è un altro discorso, e tu sei scommessa migliore è probabilmente quello di postare una nuova domanda qui su.

    OriginaleL’autore larsks

Lascia un commento