Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで現在開いているファイル行を取得するにはどうすればよいですか?


Pythonはこれを直接サポートしていません。そのためのラッパークラスを作成できます。たとえば、

class FileLineWrapper(object):
    def __init__(self, file):
        self.f = file
        self.curr_line = 0
    def close(self):
        return self.f.close()
    def readline(self):
        self.curr_line += 1
        return self.f.readline()
    # to allow using in 'with' statements
    def __enter__(self):
        return self
    def __exit__(self, exc_type, exc_val, exc_tb):
        self.close()

そして、上記のコードを次のように使用します:

f = FileLineWrapper(open("my_file", "r"))
f.readline()
print(f.line)

これにより、次の出力が得られます:1

readlineメソッドのみを使用している場合は、行番号を追跡する他のメソッドがあります。たとえば、

f=open("my_file", "r")
for line_no, line in enumerate(f):
    print line_no
f.close()

  1. Pythonで読むためだけにファイルを開く方法は?

    読み取りモードでファイルを開くには、モードとして「r」を指定します。たとえば、 f = open('my_file.txt', 'r') file_content = f.read() f.close() 上記のコードは、my_file.txtを読み取りモードで開き、ファイルの内容をfile_content変数に格納します。より安全なアプローチは、with open構文を使用して、例外が発生した場合にファイルが閉じないようにすることです。 with open('my_file.txt', 'r') as f:   &n

  2. Pythonで書き込むためにファイルを開く方法は?

    書き込みモードでファイルを開くには、モードとして「w」を指定します。たとえば、 f = open('my_file.txt', 'w') f.write('Hello World') f.close() 上記のコードは、my_file.txtを書き込みモードで開き、「HelloWorld」を含むようにファイルを書き換えます。より安全なアプローチは、with open構文を使用して、例外が発生した場合にファイルが閉じないようにすることです。 with open('my_file.txt', 'r') as f: &