如何从python中的文件中分别读取字符串和整数

问题描述:

我无法读取文件。我有一个小文本文件,就像下面的文件一样。我的程序应该读取第一个字符串并存储剩余的整数并按递增顺序排序。我必须用python编写我的程序,但我无法弄清楚。如何区分我的字符串和整数。然后最后我输出结果的名称和整数排序。如何从python中的文件中分别读取字符串和整数

在/ usr/bin中/ ENV /蟒蛇

import sys 
import os 


def main(): 
    h = [] 

    infile = open(sys.argv[1], "rb") 

    str = infile.readline() 

    for line in infile: 

    for nbr in line.split(): 

     h.append(nbr) 


infile.close() 

main() 
+2

发布您的代码尝试过。 –

+0

你能告诉我你尝试过什么吗?你能提供[mcve]吗?你期望的输出是什么?你的实际输出是什么?你能告诉我们而不是告诉我们吗?这个问题现在是广泛的。 –

+0

这是整个文件,还是只是其中的一部分? – Ajax1234

您可以使用正则表达式和heapq

import re 
import heapq 

f = [i.strip('\n') for i in open('filename.txt')] 
new_f = [re.findall("(?<=\d{1,}\.\s)[a-zA-Z0-9]+", i) for i in f] 
def heapqueue_sort(numbers): 
    l = [] 
    heapq.heapify(l) 
    for i in numbers: 
     heapq.heappush(l, i) 
    return [heapq.heappop(l) for i in range(len(l))] 
final_data = [new_f[0]].extend(heapqueue_sort(map(int, new_f[1:]))] 
print(final_data) 
+0

你在哪里发送数值到数字?你能解释请 –

+0

@ Gloria_2015我不知道你的意思。你指的是函数调用吗? – Ajax1234

+0

是的,你能解释int和new_f的map是如何在这个方法中工作的 –