web-dev-qa-db-ja.com

Python印刷文字列からテキストファイルへ

私はテキスト文書を開くためにPythonを使っています:

text_file = open("Output.txt", "w")

text_file.write("Purchase Amount: " 'TotalAmount')

text_file.close()

文字列変数TotalAmountの値をテキスト文書に代入したいのですが。誰かが私にこれを行う方法を教えてもらえますか?

483
The Woo
text_file = open("Output.txt", "w")
text_file.write("Purchase Amount: %s" % TotalAmount)
text_file.close()

コンテキストマネージャを使用している場合、ファイルは自動的に閉じられます。

with open("Output.txt", "w") as text_file:
    text_file.write("Purchase Amount: %s" % TotalAmount)

Python 2.6以上を使用している場合は、str.format()を使用することをお勧めします。

with open("Output.txt", "w") as text_file:
    text_file.write("Purchase Amount: {0}".format(TotalAmount))

Python2.7以降では{}の代わりに{0}を使うことができます。

Python 3では、file関数へのオプションのprintパラメータがあります。

with open("Output.txt", "w") as text_file:
    print("Purchase Amount: {}".format(TotalAmount), file=text_file)

Python3.6は f-strings を導入しました

with open("Output.txt", "w") as text_file:
    print(f"Purchase Amount: {TotalAmount}", file=text_file)
940
John La Rooy

複数の引数を渡したい場合は、Tupleを使用できます。

price = 33.3
with open("Output.txt", "w") as text_file:
    text_file.write("Purchase Amount: %s price %f" % (TotalAmount, price))

More: pythonで複数の引数を表示する

31
user1767754

あなたがnumpyを使っているなら、ファイルに単一の(または複数の)文字列を印刷することは1行だけですることができます:

numpy.savetxt('Output.txt', ["Purchase Amount: %s" % TotalAmount], fmt='%s')
16
Guy s

Python 3を使用している場合.

それから Print Function :を使うことができます。

your_data = {"Purchase Amount": 'TotalAmount'}
print(your_data,  file=open('D:\log.txt', 'w'))

Python2の場合

これはPythonのPrint String To Text Fileの例です。

def my_func():
    """
    this function return some value
    :return:
    """
    return 25.256


def write_file(data):
    """
    this function write data to file
    :param data:
    :return:
    """
    file_name = r'D:\log.txt'
    with open(file_name, 'w') as x_file:
        x_file.write('{} TotalAmount'.format(data))


def run():
    data = my_func()
    write_file(data)


run()
12
Rajiv Sharma

Pathlibモジュールを使うと、字下げは不要です。

import pathlib
pathlib.Path("output.txt").write_text("Purchase Amount: {}" .format(TotalAmount))

Python 3.6以降では、f-stringsが利用可能です。

pathlib.Path("output.txt").write_text(f"Purchase Amount: {TotalAmount}")
5
naoki fujita

それをするためのもっと簡単な方法はあなたがファイルに設定したいテキストを追加することによってであると思う 

open( 'ファイル名'、 'a')

これがその例です。 

file=open('file','a')
file.write("Purchase Amount: " 'TotalAmount')
file.close()

「a」は気分を追加することを示します、それはあなたがあなたのファイルのテキストの終わりに書きたいテキストを追加する 

0
Nader Elsayed