반응형

#!/usr/bin/python

import os

if not os.path.exists("./test.txt"):
        print "test.txt file not exist"

if os.path.exists("./test.txt"):

print "test.text file exist"

반응형
반응형

 

 

 

 

위 그림과 같이 attachments[-1]를 해주면 된다.

반응형
반응형

 

 

 

db.commit()을 추가해주어야 한다.

 

db.commit()이 없을 경우 오류는 안나지만 DB에 데이터가 안들어 온다

 

반드시 db.commit() 추가!!

반응형
반응형

출처:http://egloos.zum.com/mcchae/v/11025548

 

파이썬에서도 다른 언어처럼 global 개념이 있지만 약간은 틀리더군요.


다음을 보겠습니다.

GV=10
def gTestA():
i = GV
j = GV+1
print i + j

위 상태에서

gTestA()

를 수행하면 
21
결과를 보여주고 정상 종료 됩니다.

클래스도 보겠습니다.

GV=10
class myClass:
myGV = GV
def __init__(self):
self.myGV = 5
def mA(self):
i = self.myGV
j = myClass.myGV
print i + j
my = myClass()
my.mA()
15

즉, namespace에서 모듈의 global 은 어디서든지 read-only 개념으로 참조가 가능합니다.

하지만 아래의 경우를 보겠습니다.

GV=10
def gTestB():
GV += 1
print GV
gTestB()

수행을 하면,

Traceback (most recent call last):
  File "/home/toor/workpy/SMCLinux/test/global_test.py", line 5, in <module>
    gTestB()
  File "/home/toor/workpy/SMCLinux/test/global_test.py", line 3, in gTestB
    GV += 1
UnboundLocalError: local variable 'GV' referenced before assignment

와 같은 오류가 발생하는 군요.

즉, readonly가 아니라 참조를 하려는데 로컬 변수 사전에서 못 찾는다는 것이겠지요.

GV +=1 윗줄에
global GV
라는 것을 주면 global 사전에 GV가 추가되고, 글로벌 변수를 이용하여 
값을 변경하는 것도 가능합니다.

GV=10
def gTestB():
global GV
GV += 1
print GV
gTestB()

어느분께는 도움이 되셨기를 바랍니다.

 

반응형

+ Recent posts