如何将数字读为字符串进行操作

问题描述

通过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]

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...