python正则表达式管道符的使用?

Python028

python正则表达式管道符的使用?,第1张

有几个问题

1、你要测试是否匹配多个,应该用findall,而不是search,search只找第一个匹配的。

2、\d{8} 你写成了d{8}

3、{6}是精确6位,{6,}才会匹配到8位的12345678

Python执行Linux系统命令,即在Python脚本中调用Shell命令,具体有以下四种方法

1、os.system

//仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息

system(command) ->exit_status

Execute the command (a string) in a subshell.

//如果再命令行下执行,结果直接打印出来:

>>>os.system('ls')

04101419778.CHM bash documentmedia py-django video

11.wmvbooks downloads Pictures python

all-20061022 Desktop Examplesprojecttools

2、os.popen

//该方法不但执行命令还返回执行后的信息对象

popen(command [, mode='r' [, bufsize]]) ->pipe

Open a pipe to/from a command returning a file object.

3、使用模块 subprocess

>>>import subprocess

>>>subprocess.call(["cmd", "arg1", "arg2"],shell=True)

//获取返回和输出:

import subprocess

p = subprocess.Popen('ls', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)

for line in p.stdout.readlines():

print line,

retval = p.wait()

4、使用模块 commands

>>>import commands

>>>dir(commands)

['__all__', '__builtins__', '__doc__', '__file__', '__name__', 'getoutput', 'getstatus','getstatusoutput', 'mk2arg', 'mkarg']

>>>commands.getoutput("date")

'Wed Jun 10 19:39:57 CST 2009'

>>>

>>>commands.getstatusoutput("date")

(0, 'Wed Jun 10 19:40:41 CST 2009')