A problem with opening a file -- again

Gabor Urban urbangabo at gmail.com
Sun Nov 29 16:36:09 EST 2020


Hi guys,

I tried to solve the problem once again. I have inserted some print
statements the check the variables.

The actual code (naplo.py) is copy-pasted here:

----

class Naplo:
    def __init__(self, pNeve, pMeret, pMode = 'a'):
        self.logNev = pNeve
        self.meret = pMeret
        self.startMode = pMode
        self.mode = 'a'
        self.sor = 0
        self.puffer = []
        self.start = True

    def __del__(self):
        print(' .. sor = %d'%self.sor)
        print(' .. startMode = %s'%self.startMode)
        print(' .. mode = %s'%self.mode)
        print(' .. logName = %s'%self.logNev)
        print(self.puffer)
        if self.sor != 0:
            if self.start:
                trc = open(self.logNev,self.startMode)
            else:
                trc = open(self.logNev,self.mode)
            for idx in xrange(self.meret):
                trc.write(self.puffer[idx])
            trc.close()


    def Kiir(self, txt):
        msg = '%s\n'%txt
        self.puffer.append(msg)
        self.sor += 1
        print(' .. sor = %d'%self.sor)
        print(' .. startMode = %s'%self.startMode)
        print(' .. mode = %s'%self.mode)
        print(' .. logName = %s'%self.logNev)
        print(self.puffer)
        print('.. ' + self.logNev)
        if self.sor == self.meret:
            if self.start:
                trc = open(self.logNev,self.startMode)
            else:
                trc = open(self.logNev,self.mode)
            for idx in xrange(self.meret):
                trc.write(self.puffer[idx])
            trc.close()
            self.start = False
            self.puffer = []
            self.sor = 0

lf = Naplo('nap1.log', 6)
lf.Kiir('Ez az elso.')

 ----

I am using a Windows version:

python
Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit
(AMD64)]
 on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> ^Z

 ----

python naplo.py
 .. sor = 1
 .. startMode = a
 .. mode = a
 .. logName = nap1.log
['Ez az elso.\n']
.. nap1.log
 .. sor = 1
 .. startMode = a
 .. mode = a
 .. logName = nap1.log
['Ez az elso.\n']
Exception ignored in: <bound method Naplo.__del__ of <__main__.Naplo object
at 0
x000000DCBD06BA58>>
Traceback (most recent call last):
  File "naplo.py", line 20, in __del__
NameError: name 'open' is not defined

-- 
Urbán Gábor

Linux is like a wigwam: no Gates, no Windows and an Apache inside.


More information about the Python-list mailing list