2016-11-02 8 views
-1

私のコードでは、ファイルの内容を印刷するためにファイルから読み込む必要があります。私の質問は、ファイル内の行をどのようにして別々に印刷するので、一度にすべて印刷するのではなく、必要な場合にのみ印刷することです。あなたの助けを事前に別々の行でテキストファイルを読み込んで印刷するか?

input = input('Type:') 

if input == ('input'): 
     text_file = open("read.txt", "r") 
     print (text_file.read(39)) 

     text_file.close() 

elif input == ('input'): 
     text_file = open("read.txt", "r") 
     print (text_file.read(39)) 

     text_file.close() 

elif input == ('input'): 
     text_file = open("read.txt", "r") 
     print (text_file.read(39)) 

     text_file.close() 

elif input == ('input'): 
     text_file = open("read.txt", "r") 
     print (text_file.read(39)) 

     text_file.close() 

elif input == ('input'): 
     text_file = open("read.txt", "r") 
     print (text_file.read(39)) 

     text_file.close() 

elif input == ('input'): 
     text_file = open("read.txt", "r") 
     print (text_file.read(39)) 

     text_file.close() 

感謝:)

+0

にあなたの現在の応答すべての '/ elif'例は、印刷'にある場合(text_file.read(39)) '。彼らはすべて同じです。あなたが読んでいるファイルの構造は何ですか? – roganjosh

+0

しかし、合理的な助けを得るために、テキストファイルのスニペットを表示して、人々があなたが実際に読んでいるものを知るようにしてください。 – roganjosh

+4

あなたの質問を消す理由は何ですか?あなたの質問に答えると、あなたの疑問を解決するのは悪い形です。それは、「私はインターネットで宿題を尋ねるのは嫌です」 –

答えて

0

次の例のように辞書を使用できます。利点は、行番号の範囲を使用することができ、それはまた、コードを簡素化することである。

import fileinput 

plines = {'wifi':1,'storage':4} 
user_input = input('Welcome to the troubleshooting system, please state which category you have having issues with:') 

for line in fileinput.input("task2_solutions.txt"): 
    if fileinput.lineno() == plines[user_input]: 
     print line 
+0

ありがとうございます!それは私がそれを構想した方法とまったく同じです。 – Lopin

0

あなたが必要なレスポンスとテキストファイルの行数はそれほど大きくないことを知っている場合は、リストにファイルの行を読み込むことができます。あなたは、リスト内の既知の行数インデックスで、適切な応答をアクセスすることができました

text_file = open("task2_solutions.txt", "r") 
responses = text_file.read().split("\n") 
text_file.close() 

は次に:

if user_input == ('wifi'): 
    print(response[0]) 
0

を私はあなたが最初にこのファイル内のすべての行を読んで、その後区切るために正規表現を使用することができると思いますこれらの行は辞書のキーワードに基づいています。その後、辞書を使って必要なものを手に入れることができます。

関連する問題