जवाबों:
file.write(f"{var1}\n")
आप इसे दो तरीकों से कर सकते हैं:
f.write("text to write\n")
या, आपके पायथन संस्करण (2 या 3) पर निर्भर करता है:
print >>f, "text to write" # Python 2.x
print("text to write", file=f) # Python 3.x
आप उपयोग कर सकते हैं:
file.write(your_string + '\n')
file.write(f"my number is: {number}\n")
बस ठीक है और पठनीय है।
यदि आप इसका बड़े पैमाने पर उपयोग करते हैं (बहुत सी लिखित पंक्तियाँ), तो आप 'फ़ाइल' को उपवर्गित कर सकते हैं:
class cfile(file):
#subclass file to have a more convienient use of writeline
def __init__(self, name, mode = 'r'):
self = file.__init__(self, name, mode)
def wl(self, string):
self.writelines(string + '\n')
अब यह एक अतिरिक्त फ़ंक्शन wl प्रदान करता है जो आपको चाहिए:
fid = cfile('filename.txt', 'w')
fid.wl('appends newline charachter')
fid.wl('is written on a new line')
fid.close()
हो सकता है कि मुझे अलग-अलग न्यूलाइन अक्षरों (\ n, \ r, ...) की तरह कुछ याद आ रहा हो या यह कि आखिरी लाइन भी एक नई लाइन के साथ समाप्त हो गई हो, लेकिन यह मेरे लिए काम करती है।
return None
इस मामले में आवश्यकता नहीं है क्योंकि पहले, आपको इसकी आवश्यकता नहीं है और दूसरा, None
जब कोई return
बयान नहीं है , तो प्रत्येक पायथन फ़ंक्शन डिफ़ॉल्ट रूप से लौटता है ।
तुम यह कर सकते थे:
file.write(your_string + '\n')
जैसा कि एक अन्य उत्तर द्वारा सुझाया गया है, लेकिन जब आप file.write
दो बार कॉल कर सकते हैं, तो स्ट्रिंग समवर्ती (धीमा, त्रुटि-प्रवण) का उपयोग क्यों कर रहे हैं :
file.write(your_string)
file.write("\n")
ध्यान दें कि लिखता है बफ़र तो यह एक ही बात के लिए राशि है।
file_path = "/path/to/yourfile.txt"
with open(file_path, 'a') as file:
file.write("This will be added to the next line\n")
या
log_file = open('log.txt', 'a')
log_file.write("This will be added to the next line\n")
बस एक नोट, file
में समर्थित नहीं है Python 3
और हटा दिया गया था। आप open
बिल्ट-इन फ़ंक्शन के साथ भी ऐसा कर सकते हैं ।
f = open('test.txt', 'w')
f.write('test\n')
जब तक बाइनरी फ़ाइलों को न लिखें, प्रिंट का उपयोग करें। सीएसवी फ़ाइलों को प्रारूपित करने के लिए अच्छा उदाहरण नीचे दिया गया है:
def write_row(file_, *columns):
print(*columns, sep='\t', end='\n', file=file_)
उपयोग:
PHI = 45
with open('file.csv', 'a+') as f:
write_row(f, 'header', 'phi:', PHI, 'serie no. 2')
write_row(f) # newline
write_row(f, data[0], data[1])
टिप्पणियाँ:
'{}, {}'.format(1, 'the_second')
- https://pyformat.info/ , PEP-3101*columns
फ़ंक्शन परिभाषा में - सूची में किसी भी संख्या के तर्क को प्रेषण करता है - * args & ** kwargs पर प्रश्न देखेंएक और समाधान जो एक सूची से fstring का उपयोग करके लिखता है
lines = ['hello','world']
with open('filename.txt', "w") as fhandle:
for line in lines:
fhandle.write(f'{line}\n')
यह वह समाधान है जो मैं स्वयं के लिए इस समस्या को हल करने की कोशिश कर रहा हूं ताकि व्यवस्थित रूप से विभाजक के रूप में \ n का उत्पादन किया जा सके। यह स्ट्रिंग की एक सूची का उपयोग करते हुए लिखता है, जहां प्रत्येक स्ट्रिंग फ़ाइल की एक पंक्ति है, हालांकि ऐसा लगता है कि यह आपके लिए भी काम कर सकती है। (अजगर 3. +)
#Takes a list of strings and prints it to a file.
def writeFile(file, strList):
line = 0
lines = []
while line < len(strList):
lines.append(cheekyNew(line) + strList[line])
line += 1
file = open(file, "w")
file.writelines(lines)
file.close()
#Returns "\n" if the int entered isn't zero, otherwise "".
def cheekyNew(line):
if line != 0:
return "\n"
return ""
with open(path, "w") as file: for line in strList: file.write(line + "\n")
? इस तरह आप सभी सूची कार्य, चेक निकाल सकते हैं, और सिर्फ 3 लाइनें हैं।