我有一个包含用户名及其相关信息的文件,正如我在user_list.txt
文件中提供的那样。数据中有两件事:
数据总是以关键字dn:
和它的相关值(如mail
、givenName
、uid
)开始,这些值由单独的换行符分隔
然而,在某些情况下,它只是以dn:
开头的起始线
下面的代码部分有效,说明它不会像您在输出中看到的那样打印最后一行dn: uid=aadhar,ou=people,o=udalt.com
。只是想知道我在这里做错了什么,并希望任何更正或专家的意见
#!/grid/common/pkgs/python/v3.6.1/bin/python3
myline = ''
Flag = 0
with open('user_list.txt', 'r') as frb:
for line in frb:
if line.startswith("dn:"):
Flag = 1
if Flag == 1:
print(myline)
myline = line.strip()
else:
myline = myline.strip("\n") + ' ' + line.strip("\n")
Flag = 0
我试图从中获取结果的文件:
$ cat user_list.txt
dn: ou=People,o=udalt.com
dn: ou=DC,ou=People,o=udalt.com
dn: uid=3dv,ou=people,o=udalt.com
givenName: DUMAN reserved
displayName: DUMAN reserved account
uid: 3dv
dn: uid=aabdalla,ou=people,o=udalt.com
mail: aabdalla@udalt.com
givenName: kamina
displayName: kamina Abdal
uid: aabdalla
l: Vendor Loc, US
dn: uid=aabhiram,ou=People,o=udalt.com
mail: aabhiram@udalt.com
givenName: Amperayani
telephoneNumber: +91-8888888888
displayName: Amperayani Abhiram
l: Bangalore, India
uid: aabhiram
dn: uid=aadhar,ou=people,o=udalt.com
代码结果如下:
dn: ou=People,o=udalt.com
dn: ou=DC,ou=People,o=udalt.com
dn: uid=3dv,ou=people,o=udalt.com givenName: DUMAN reserved displayName: DUMAN reserved account uid: 3dv
dn: uid=aabdalla,ou=people,o=udalt.com mail: aabdalla@udalt.com givenName: kamina displayName: kamina Abdal uid: aabdalla l: Vendor Loc, US
dn: uid=aabhiram,ou=People,o=udalt.com mail: aabhiram@udalt.com givenName: Amperayani telephoneNumber: +91-8888888888 displayName: Amperayani Abhiram l: Bangalore, India uid: aabhiram
感谢您的帮助和指导
我相信这会解决你的问题:
代码:
输出:
说明: 对于
user_list.txt
文件中的每一行,它检查该行是否以“dn:”开头。如果是,则打印当前数据块并用空字符串重置数据块。它还将当前行添加到每行的数据块中最后,由于for循环不会打印最后一行,else块将打印最后一行
谢谢
相关问题 更多 >
编程相关推荐