簡體   English   中英

從列表python中刪除所有空白行

[英]Remove all blank lines from list python

我將以下結果設置為變量。 我需要先刪除所有空白行,然后才能將其制成字典。 我可以在變量上運行以刪除該變量中可能包含的所有空行的簡單命令是什么。 以下是我的變量輸出的示例:

DeviceName = device1
ClientName = myclient
RegionName = west
PrimaryIP = 1.1.1.1
OsVersionName = Microsoft Windows 7 Enterprise
AccessMethod = None
AccessIP = None
Port = None


DeviceName = device2
ClientName = myclient
RegionName = None
PrimaryIP = 1.1.1.2
OsVersionName = Microsoft Windows 7 Enterprise
AccessMethod = None
AccessIP = None
Port = None

開頭還有一個空格。 我嘗試了幾種不同的方法,但是它們似乎只刪除了第一個空白行。 我需要刪除結果中可能出現的所有空白行。

我不確定,但這可能是您想要的:

>>> text = '''DeviceName = device1
ClientName = myclient
RegionName = west
PrimaryIP = 1.1.1.1
OsVersionName = Microsoft Windows 7 Enterprise
AccessMethod = None
AccessIP = None
Port = None


DeviceName = device2
ClientName = myclient
RegionName = None
PrimaryIP = 1.1.1.2
OsVersionName = Microsoft Windows 7 Enterprise
AccessMethod = None
AccessIP = None
Port = None'''
>>> text = '\n'.join(line for line in text.splitlines() if line)

但是最好使用生成器表達式在創建字典時忽略空白行:

>>> lines = (line for line in text.splitlines() if line)
txt = """DeviceName = device1
ClientName = myclient
RegionName = west
PrimaryIP = 1.1.1.1
OsVersionName = Microsoft Windows 7 Enterprise
AccessMethod = None
AccessIP = None
Port = None


DeviceName = device2
ClientName = myclient
RegionName = None
PrimaryIP = 1.1.1.2
OsVersionName = Microsoft Windows 7 Enterprise
AccessMethod = None
AccessIP = None
Port = None"""

print('\n'.join([i for i in txt.split('\n') if i]))

輸出:

DeviceName = device1
ClientName = myclient
RegionName = west
PrimaryIP = 1.1.1.1
OsVersionName = Microsoft Windows 7 Enterprise
AccessMethod = None
AccessIP = None
Port = None
DeviceName = device2
ClientName = myclient
RegionName = None
PrimaryIP = 1.1.1.2
OsVersionName = Microsoft Windows 7 Enterprise
AccessMethod = None
AccessIP = None
Port = None

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM