linux - Wie schreibe ich den folgenden Shell-Befehl in Python?
漂亮男人
漂亮男人 2017-06-28 09:23:05
0
3
1035

Das ursprüngliche Skript wurde von einem Senior verwaltet und war zu schwer zu verstehen. Der Chef hat mich gebeten, es erneut in Python zu schreiben, nämlich das Zeitstempelfeld im SVN abzurufen log

]
Ich habe die Anweisungen von Python befolgt. Die Art und Weise, es zu schreiben, besteht darin, die Befehle zusammenzufügen und popen aufzurufen, um sie auszuführen.

Aber beim Ausführen wurde ein Fehler gemeldet, wie unten gezeigt:

Dann habe ich den vorderen Teil von cmd gemessen, das ist

Das Ergebnis ist:

Es ist ersichtlich, dass das Ergebnis korrekt ist, daher tritt das Beurteilungsproblem im Sed-Teil auf. Bitte helfen Sie mir bei Ihren Senioren.

漂亮男人
漂亮男人

Antworte allen (3)
我想大声告诉你

你把命令直接复制到命令行能用吗?如果能用就是你组织字符串出的错,比如双引号被你漏了,比如python中"%F"与'"%F"'是不一样的,还有'\2'与'\\2'是不一样的

    刘奇

    刚开始工作,太拘泥于别人的思路了,我想了下直接尽可能的用python来实现功能。用python的替换功能搞定问题就好了

      过去多啦不再A梦

      不用sed/grep...

      # coding: utf8 import re from time import strftime, strptime from subprocess import Popen, PIPE cmd = 'svn log' # 不需要sed result = Popen(cmd, shell=True, stdout=PIPE, stderr=PIPE) stdout, stderr = result.communicate() for _ in re.findall(r'(?<=date>)([^<.]+)\.', stdout): print(strftime("%F %T", strptime(_, "%Y-%m-%dT%H:%M:%S")))
        Neueste Downloads
        Mehr>
        Web-Effekte
        Quellcode der Website
        Website-Materialien
        Frontend-Vorlage
        Über uns Haftungsausschluss Sitemap
        Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!