linux - 下面这条shell命令怎么用python写啊?
漂亮男人
漂亮男人 2017-06-28 09:23:05
0
3
1022

最初的脚本是一个前辈维护的,shell脚本,太难懂了,老大让我重新用python写一遍,功能如下,就是获取svn log中的时间戳字段

]
我按照python的写法,将命令拼接起来,调用popen执行。

但是运行的时候报错了,如下所示:

然后我测了下cmd的前面部分,也就是

他的结果是:

可见结果是正确的,所以判断问题就出现在sed这部分,还请各位前辈帮忙看看。

漂亮男人
漂亮男人

全部回复(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")))
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!