问题描述
通过readline()
,我阅读了一个包含字母和数字的txt文件。
在txt文件中,第一行是 18 20 8.9354 0 0
,我以这种方式阅读
import tkinter as tk
from tkinter import filedialog
root = tk.Tk()
root.withdraw()
file_path = filedialog.askopenfilename()
f = open(file_path)
with open(file_path) as fp:
first_line = fp.readline()
A = first_line[1:3]
B = first_line[4:6]
C = first_line[7:13]
D = first_line[14]
问题在于所有数字都是字符串,如果我尝试执行A+B
,我得到的是1820
而不是40
如何在本地进行修复(仅适用于实际包含数字的行)? 非常感谢
解决方法
我将在这里使用字符串拆分以及列表理解功能将每个字符串编号映射到一个真正的浮点数:
with open(file_path) as fp:
first_line = fp.readline()
nums = first_line.split(' ')
results = [float(i) for i in nums]
A = results[0]
B = results[1]
C = results[2]
D = results[3]