5

Python で、ファイルを開いてファイルから浮動小数点数を文字列形式で読み込むにはどうすればよいですか? また、各フロートの値を変更し、ファイルを新しい値で上書きしたいと思います。

4

4 に答える 4

15

行ごとに 1 つの float があると仮定します。

with open("myfile") as f:
    floats = map(float, f)

# change floats

with open("myfile", "w") as f:
    f.write("\n".join(map(str, floats)))

フォーマットをより細かく制御したい場合は、文字列のformat方法を使用してください。たとえば、これは各ピリオドの後に 3 桁のみを出力します。

    f.write("\n".join(map("{0:.3f}".format, floats)))
于 2012-06-15T15:09:47.550 に答える
4

「float()」関数は文字列を入力として受け取り、それらを float に変換します。

>>> float("123.456")
123.456
于 2012-06-15T15:07:32.417 に答える
2
def get_numbers():
    with open("yourfile.txt") as input_file:
        for line in input_file:
            line = line.strip()
            for number in line.split():
                yield float(number)

次に、完了したらそれらを書き戻します

および短いバージョンとして(テストされておらず、頭から書かれています)

with open("yourfile.txt") as input_file:
    numbers = (float(number) for number in (line for line in (line.split() for line in input_file)))
于 2012-06-15T15:09:06.930 に答える