【发布时间】:2018-10-17 14:37:46
【问题描述】:
所以,我从学校的 Linux 服务器获取用户名列表,此顶部代码打开保存它们的目录并将其保存为信息
#!/usr/bin/env python
import subprocess, sys
r = subprocess.Popen(['ls','/home/ADILSTU'], stdout=subprocess.PIPE)
information = r.stdout.read()
print information, str(information)
效果很好,并像这样列出用户......每行列出 1 个用户。 (至少有 100 个用户名)
ajax2
jjape3
jaxe32
我的问题是,我想为这些用户名创建一个“查找”,这是我搜索仅以字母 j 开头的用户名的代码(因此应该只从该列表中列出 jaxe32)
#lookup
import re
p = re.compile(r'j(?!j)\w*')
print p.match(str(information)).group()
但是当我运行它时,我得到了这个错误,如果我去掉 .group() ,它只会声明“none”,但没有错误。所以我不确定列表是否正确保存到字符串中,或者我是否只是遗漏了一些明显的东西。我只想为此使用正则表达式,而不是其他任何东西。
Traceback (most recent call last):
File "getInformation.py", line 11, in <module>
print p.match(str(information)).group()
AttributeError: 'NoneType' object has no attribute 'group'
【问题讨论】:
-
我的意思是说只有一个j而不是jj
标签: python regex subprocess