我有一个包含多行的文件,其中一些有空格。
x=20
y=3
z = 1.5
v = 0.1
我想删除这些空格并将每一行放入一个字典中,其中“=”符号之前的元素将是键,“=”符号之后的元素将是它的值。
但是,我的代码不起作用,至少“删除空格”部分不起作用。这是代码:
def copyFile(filename):
"""
function's contract
"""
with open(filename, 'r') as inFile:
for line in inFile:
cleanedLine = line.strip()
if cleanedLine:
firstPart, secondPart = line.split('=')
dic[firstPart] = float(secondPart)
inFile.close()
return dic
清除空格后,我的文件应该是这样的
x=20
y=3
z=1.5
v=0.1
但是不工作。我做错了什么?
最佳答案
拆分字符串后需要strip
。这是假设唯一不需要的空格位于 =
周围或该行内容之前或之后。
from ast import literal_eval
def copyFile(filename):
with open(filename, 'r') as inFile:
split_lines = (line.split('=', 1) for line in inFile)
d = {key.strip(): literal_eval(value.strip()) for key, value in split_lines}
return d
关于python - 删除文件python的空白空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53820954/