2

私はPythonへの旅を始めたばかりです。バイクのバルブクリアランスを行うときにシムサイズを計算する小さなプログラムを作成したいと思います。ターゲットクリアランスを含むファイルを作成し、ユーザーにクエリを実行して、現在のシムサイズと現在のクリアランスを入力します。その後、プログラムは目標のシムサイズを吐き出します。簡単そうに見えますが、それを実行するスプレッドシートを作成しましたが、Pythonを学びたいので、これは十分に簡単なプロジェクトのようです...

とにかく、これまでのところ私はこれを持っています:

def print_target_exhaust(f):
    print f.read()

#current_file = open("clearances.txt")
print print_target_exhaust(open("clearances.txt"))

これで、ファイル全体を読み取れるようになりましたが、たとえば4行目の値のみを取得するようにするにはどうすればよいですか。関数で試しprint f.readline(4)ましたが、最初の4文字が吐き出されているようです。 ..私は何が間違っているのですか?

私は真新しいです、私に気楽になってください!-d

4

3 に答える 3

4

すべての行を読むには:

lines = f.readlines()

次に、4行目を印刷します。

print lines[4]

Pythonのインデックスは0から始まるため、実際にはファイルの5行目になります。

于 2012-12-27T21:46:00.203 に答える
3
with open('myfile') as myfile: # Use a with statement so you don't have to remember to close the file
    for line_number, data in enumerate(myfile): # Use enumerate to get line numbers starting with 0
        if line_number == 3:
            print(data)
            break # stop looping when you've found the line you want

詳しくは:

于 2012-12-27T21:49:30.083 に答える
-1

あまり効率的ではありませんが、それがどのように機能するかを示すはずです。基本的に、それはそれが読むすべての行で実行中のカウンターを維持します。行が「4」の場合、それが印刷されます。

## Open the file with read only permit
f = open("clearances.txt", "r")
counter = 0
## Read the first line 
line = f.readline()

## If the file is not empty keep reading line one at a time
## till the file is empty
while line:
    counter = counter + 1
    if counter == 4
        print line
    line = f.readline()
f.close()
于 2012-12-27T21:49:11.067 に答える