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


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.