2017-08-30 139 views
-3

我無法讀取文件。我有一個小文本文件,就像下面的文件一樣。我的程序應該讀取第一個字符串並存儲剩餘的整數並按遞增順序排序。我必須用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

回答

0

您可以使用正則表達式和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是如何在這個方法中工作的 –

相關問題