我只想从 .dat 文件中提取单个值,到目前为止,我已经成功提取了我想要的值,但我将各个字符串添加在一起。它非常笨重,所以寻找一种更平滑的方法,它只会给我行中的第一个值(-300)。
谢谢
代码:
current_dir = os.getcwd()
work_dir = "\workDir"
PATH2WRK = os.path.join(current_dir + work_dir)
file_name = "gpList.dat"
PATH2GPLIST = PATH2WRK + "\\" + file_name
Global_List = open(PATH2GPLIST, "r")
GL = Global_List.readlines()
newQ_ = GL[-1].split('\t')
print(newQ_)
newq = newQ_[0]
print(newq)
newQ = str(newq[0]) + str(newq[1]) + str(newq[2]) +
str(newq[3])
print(newQ)
输出:
print(newQ_) = [ '-300 0.004834754\n']
打印(newq) = -300 0.004834754
打印(newQ) = -300
不需要遍历字符串来获取第一个数字,可以使用
split()
函数的强大功能来实现。以下是如何改进代码的方法:
import os
current_dir = os.getcwd()
work_dir = "\workDir"
PATH2WRK = os.path.join(current_dir + work_dir)
file_name = "gpList.dat"
PATH2GPLIST = PATH2WRK + "\\" + file_name
Global_List = open(PATH2GPLIST, "r")
GL = Global_List.readlines()
newQ_ = GL[-1].split('\t')[0] # 直接获取第一个值
newQ = int(newQ_) # 将字符串转换为整数
print(newQ)
解释:
-
GL[-1].split('\t')[0]
: 这部分代码完成所有繁重的工作。 -
GL[-1]
获取列表GL
中的最后一行。 -
.split('\t')
按制表符 (\t
) 分割该行,生成一个字符串列表。 -
[0]
选择结果列表中的第一个元素,即想要的数字。 -
int(newQ_)
: 此代码将提取的字符串转换为整数,这可能是希望对该值执行的操作。
通过此更改,的代码将变得更加简洁高效。无需进行不必要的字符串操作。
标签:python From: 78792207