2017-08-30 12 views
-3

ファイルの読み込みに問題があります。私は下に1つのような小さなテキストファイルを持っています。私のプログラムは、最初の文字列を読み込み、残りの整数を格納し、昇順にソートすることになっています。私はPythonでプログラムを書く必要がありますが、私は理解できませんでした。私の文字列と整数を分ける方法。その後、私は結果を名前で出力し、整数でソートしました。Pythonのファイルとは別に文字列と整数を読み取る方法

は/ usr/binに/ ENV/pythonの

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のマップがどのように動作するか説明できます –

関連する問題