Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从txt文件中提取不同行的两个单词之间的单词?_Python - Fatal编程技术网

Python 如何从txt文件中提取不同行的两个单词之间的单词?

Python 如何从txt文件中提取不同行的两个单词之间的单词?,python,Python,我有一个包含几行的.txt文件,我想从每行中提取特定的单词 例如: txt文件包含 A部分:12 10*2=20 B部分:6 4*5=20 C部分:5 3*10=30 我想将12提取到一个变量中,类似于将6和5提取到不同的变量中 冒号后的第一个数字或冒号后两个空格之间的数字可以循环文件的每一行并按空格分割,得到第三个元素第三个元素索引=2,这是您想要的数字: numbers = [] with open('file.txt', 'r') as f: for line in f: n

我有一个包含几行的.txt文件,我想从每行中提取特定的单词

例如: txt文件包含

A部分:12 10*2=20 B部分:6 4*5=20 C部分:5 3*10=30

我想将12提取到一个变量中,类似于将6和5提取到不同的变量中
冒号后的第一个数字或冒号后两个空格之间的数字可以循环文件的每一行并按空格分割,得到第三个元素第三个元素索引=2,这是您想要的数字:

numbers = []

with open('file.txt', 'r') as f:
  for line in f:
    numbers.append(int(line.split()[2]))

print(numbers) # ==> [12, 6, 5]

只需读取文本,拆分、提取并存储在这样的数组中

file=open("filename.txt","r+")    
fileText=file.read()
file.close()
linesArr=fileText.split('\n')
x=linesArr[0].split(': ')[1].split(' ')[0]
y=linesArr[1].split(': ')[1].split(' ')[0]
z=linesArr[2].split(': ')[1].split(' ')[0]
print(x)
print(y)
print(z)

您还可以使用正则表达式从冒号和空格后的每行中选取第一个数字:

import re
with open("filename.txt") as file:   
    fileText = file.read()
x, y, z = [int(n) for n in re.findall(": (\d+)", fileText)]
print(x)
print(y)
print(z)

我想将数字初始化为变量,如12->x,6->y,5->zI想将数字初始化为变量,如12->x,6->y,5->zEdited。现在检查!伟大的工作。。。。。。。。。。您还可以告诉get如何获得具有以下语法的A部分的第一个单词:x=linesArr[0]。拆分“:”[1]。拆分“[0]”是的。linesArr[0]。拆分“:”将行拆分为两部分,中间有:和空格。所以这个数组的第0个索引是您的“A部分”。第一个索引是partA、:和空格后的文本。因此,我们将其按空格拆分,并检测第0个索引,这是字符串后面部分中的第一个数字。请使用linesArr[0]。拆分“:”[0]以访问部分。是否还可以提取部分A、部分B。。。。。使用此方法转换为变量?是的,如果返回的值是字符串,则更简单:a、b、c=re.findall.*:,fileTextcool运行良好。。。。。。如果它以A部分开头,那么我们可以跳过这个例子吗:在“A”之后有空格,输出只返回“A部分”,就像在:冒号之前有空格一样,所以n所以。。。else so n soUse.**:在最后一个字符和冒号之间允许任意数量的空格。您可能还希望查找正则表达式的功能。它们在解析文本时非常有用。