Kezdőoldal » Számítástechnika » Programozás » Pythonban "write" miért nem...

Pythonban "write" miért nem írja be az adataimat egymás alatti sorokba (csak az utolsó adatsor van az output fájlban), miközben a print ezt megszi standard kimeneten?

Figyelt kérdés

Gedittel megnyitva a data.out fájlt, az utolsó adatsor van benne (a b c d) és nincs alatta új sor kezdve, pedig alkalmaztam a \n-et és az os-t is importáltam.


Köszönök szépen minden segítséget, nagyon kezdő vagyok!


import matplotlib.pyplot as plt

import numpy as np

import math

import io

import os

import sys

from collections import namedtuple



for templine in templines:

..

...

.....

print a, b, c, d

output = open("data.out", "w")

output.write( str(a) + " " + str(b) + " " + str(c) + " " + str(d) + "\n" )

output.close()



2015. jún. 13. 00:34
 1/2 anonim ***** válasza:

Nem látszik a behúzás, a lehetséges hibára tippelek egyet:

Ha az open, write és close a cikluson belül vannak, az úgy nem lesz jó, mert az open "w" módban újrakreálja a fájlt. Az open és close cikluson kívül kéne.

2015. jún. 13. 00:42
Hasznos számodra ez a válasz?
 2/2 A kérdező kommentje:

Közben rájöttem, én ügyes, a ciklus közben nyitottam meg és írtam felül mindig a fájlt...

Csodálkoztam, hogy nincs meg, csak a ciklus utolsó adatsora.


Tehát helyesen a for ciklus előtt megynyitva.:


import matplotlib.pyplot as plt

import numpy as np

import math

import io

import os

import sys

from collections import namedtuple


output = open("data.out", "w")


for templine in templines:

..

...

.....

print a, b, c, d

output.write( str(a) + " " + str(b) + " " + str(c) + " " + str(d) + "\n" )

output.close()


(A tab-ok itt eltűnnek, de természetesen a ciklus alatt vannak, illetve az "output.close()" egy "szinten" van a for ciklussal, tehát nincsen előtte tabulátor)


Kezdőként, lényeg, hogy működik.

2015. jún. 13. 00:44

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!