स्ट्रिंग टू टेक्स्ट फाइल


652

मैं एक पाठ दस्तावेज़ खोलने के लिए पायथन का उपयोग कर रहा हूँ:

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

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

text_file.close()

मैं एक स्ट्रिंग चर का मान TotalAmountपाठ दस्तावेज़ में स्थानापन्न करना चाहता हूं । कृपया कोई मुझे बता सकता है कि यह कैसे करना है?

जवाबों:


1213
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)

यदि आप Python2.6 या उच्चतर का उपयोग कर रहे हैं, तो इसका उपयोग करना पसंद किया जाता है str.format()

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

Python2.7 और उच्चतर के लिए आप {}इसके बजाय उपयोग कर सकते हैं{0}

पायथन 3 में, फ़ंक्शन के fileलिए एक वैकल्पिक पैरामीटर हैprint

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

Python3.6 ने एक और विकल्प के लिए एफ-स्ट्रिंग्स की शुरुआत की

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

2
TotalAmount को एक पूर्णांक मानते हुए, "% s" को "% d" नहीं होना चाहिए?
रुई करैडो

6
@RuiCurado, अगर TotalAmountएक है int, या तो %dया %sएक ही बात करेंगे।
जॉन ला रोय

2
बहुत बढ़िया जवाब। मैं लगभग समान उपयोग के मामले में एक वाक्यविन्यास त्रुटि देख रहा हूं: with . . .: print('{0}'.format(some_var), file=text_file)फेंक रहा है: SyntaxError: invalid syntaxबराबर चिह्न पर ...
निकोरेलियस

4
@nicorellius, यदि आप Python2.x का उपयोग करना चाहते हैं, तो आपको from __future__ import print_functionफ़ाइल के शीर्ष पर रखना होगा । ध्यान दें कि यह फ़ाइल के सभी प्रिंट स्टेटमेंट को नए फ़ंक्शन कॉल में बदल देगा।
जॉन ला रोय

यह सुनिश्चित करने के लिए कि चर प्रकार क्या है, इसे अक्सर सुनिश्चित करने के लिए परिवर्तित करें, उदा: "text_file.write ('खरीद राशि:% s'% str (TotalAmount))" जो सूचियों, तारों, फ़्लोट्स, इनट्स और के साथ काम करेगा कुछ और जो एक स्ट्रिंग के लिए परिवर्तनीय है।
ईबो


29

यदि आप पायथन 3 का उपयोग कर रहे हैं।

तो आप प्रिंट समारोह का उपयोग कर सकते हैं :

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

अजगर 2 के लिए

यह 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()

19

यदि आप numpy का उपयोग कर रहे हैं, तो फ़ाइल में एक एकल (या गुणा) स्ट्रिंग्स को प्रिंट करना केवल एक पंक्ति के साथ किया जा सकता है:

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

13

Pathlib मॉड्यूल का उपयोग करने के साथ, इंडेंटेशन की आवश्यकता नहीं है।

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

अजगर 3.6 के रूप में, एफ-स्ट्रिंग्स उपलब्ध है।

pathlib.Path("output.txt").write_text(f"Purchase Amount: {TotalAmount}")
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.