我有一个文件,其中包含非常长的字符串,大约有 300 多个字符串字符集。该字符串由空格和换行符组成。
文件内容如下:
[EEPROM]
Logic EEPROM = 67 0 0 14 1 249 95 15 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 69 48 48 56 1 48 52 49 0 48 54 4 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 8 49 50 50 9 51 48 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 48 48 48 48 0 4 0 0 22 145 38 51 49 5 53 51 49 52 5 5 52 55 0 48 4 57 48 45 55 48 54 57 51 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 48 53 45 4 54 45 50 48 9 55 48 53 45 49 5 45 50 48 49 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Data EEPROM = 140 0 0 226 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 3 1 1 0 0 0 0 1 219 2 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 1 1 0 0 0 1 219 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 1 1 0 0 0 0 1 219 2 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 219 2 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 1 1 0 1 50 0 1 219 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1 1 0 0 0 0 1 19 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 1 1 0 0 0 0 1 19 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
我想提取“逻辑EEPROM”的数据。我尝试使用以下 python 代码进行测试。
LogicEE_St = 'Logic EEPROM = '
fileToRead = 'C:\\Users\\Arduino\\Desktop\\Python\\Python_NSE\\Test.txt'
with open(fileToRead, 'r') as fp:
# read all lines in a list
lines = fp.readlines()
for line in lines:
# check if string present on a current line
if line.find(LogicEE_St) != -1:
LogicEE_Ref_Line_1 = line
break
print(LogicEE_Ref_Line_1)
split_text = LogicEE_Ref_Line_1.replace('\n', '').replace('\r', '').replace(' \n', '').replace(' \r', '')
print(split_text)
split_text = LogicEE_Ref_Line_1.strip()
print(split_text)
print("\n".join(item for item in LogicEE_Ref_Line_1.split('\n') if item))
clean_text = "".join(split_text)
print(clean_text)
结果不是一行就出来的。它带有新的线条角色。
我只想删除换行符,以便字符串没有换行符。
我已经在网上搜索并尝试了一切,但仍然不起作用。
顺便说一句,我使用 Visual Studio Code 进行测试,并使用 Notepad++ 和 Sublime Text(不自动换行)将结果视为一行。
最诚挚的问候, 昂KL
使用
.rstrip("\n")
代替!
>>> data = io.StringIO("""[EEPROM]
... Logic EEPROM = 67 0 0 14 1 249 95 15 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 69 48 48 56 1 48 52 49 0 48 54 4 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 8 49 50 50 9 51 48 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 48 48 48 48 0 4 0 0 22 145 38 51 49 5 53 51 49 52 5 5 52 55 0 48 4 57 48 45 55 48 54 57 51 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 48 53 45 4 54 45 50 48 9 55 48 53 45 49 5 45 50 48 49 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
... Data EEPROM = 140 0 0 226 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 3 1 1 0 0 0 0 1 219 2 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 1 1 0 0 0 1 219 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 1 1 0 0 0 0 1 219 2 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 219 2 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 1 1 0 1 50 0 1 219 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 1 1 0 0 0 0 1 19 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 1 1 0 0 0 0 1 19 2 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
... """)
>>> for line in data:
... if line.startswith("Logic EEPROM "):
... print(repr(line.rstrip("\n")))
...
'Logic EEPROM = 67 0 0 14 1 249 95 15 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 69 48 48 56 1 48 52 49 0 48 54 4 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 8 49 50 50 9 51 48 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 48 48 48 48 0 4 0 0 22 145 38 51 49 5 53 51 49 52 5 5 52 55 0 48 4 57 48 45 55 48 54 57 51 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 48 53 45 4 54 45 50 48 9 55 48 53 45 49 5 45 50 48 49 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0'