1

クラスを使用してファイルから入力を読み取り、そのデータを他のクラスで使用できるようにする方法を理解したいと思います。ファイルからリストに入力を読み取った場合、その情報を使用するためにそれを必要とする別のクラスにそれを渡す必要がありますか?

今私は持っています:

import sys

class FileReader:
    """Reads a file"""
    def __init__(self):
        input = ''
        try:
            with open(sys.argv[1], 'r') as inFile:
                input = inFile.readline()
                print(input)
        except IndexError:
            print("Error - Please specify an input file.")
            sys.exit(2)

def main():
    x = FileReader()

if __name__ == "__main__":
    main()

ファイルから文字列を保持するためのある種のリストを作成することを考えましたが、それがグローバルであるべきかどうかはわかりません。

4

1 に答える 1

2

ファイルを1行ずつ読み取るだけの場合は、次のようなもので問題なく動作します(例外処理は省略されています)。

>>> path = '/path/to/file.txt'
>>> with open(path, 'r') as f:
...     lines = [l for l in f]

その後、必要に応じて回すことができますlines

于 2012-12-03T19:38:02.137 に答える