2012-03-08 10 views
0

私は次のスクリプトを実行しようとしている:私は、F5キーを使用して、上記のコードを実行するとのPython 2.7輸入の混乱

#Contents of logging.py 
import sys 
import os 


global gLogfile 
global gLogFileFlag 

#----------------------------------------------------------------------------------------- 
def initLogging(): 
    global gLogFileFlag 
    try: 
     glogFile = 'D:\logggggging.log' 
     print gLogFile 
     fileObject = open(gLogFile, 'w') 
     gLogFileFlag = True 
     fileObject.close() 
    except: 
     gLogFileFlag = False 



#----------------------------------------------------------------------------------------- 
def logIt(text): 
    sys.stdout.write(text) 
    if(gLogFileFlag): 
     hFile = open(gLogFile, 'a') 
     hFile.write(text) 
     hFile.close() 


#----------------------------------------------------------------------------------------- 


#contents of test_defualt.py 
from logging import initLogging 
from logging import logIt 

def main(): 
    initLogging() 
    logIt("log something") 

main() 

、結果は「何かをログ」であるシェルの上に書かれているが、そこファイルが作成されておらず、すでに存在する場合はファイルに何も書き込まれません。

助けてください。

+0

私は本当に申し訳ありませんが、私はエラーを実現しました。変数の編集中にグローバルキーワードを使用しないように命名しました。今はうまくいっている。ありがとうございました。 – Vinayaka

答えて

1

プレーンなexcept文を使用して誤字をマスクしました。 try文に書かれていないファイルをチェックする場合は、IOError以外のものを使用します。

A(例では、エラーを見ていない人のための)作業logging.py:

import sys 
import os 

#----------------------------------------------------------------------- 
def initLogging(): 
    global gLogFileFlag 
    global gLogFile 
    try: 
     gLogFile = './logggggging.log' 
     print gLogFile 
     fileObject = open(gLogFile, 'w') 
     gLogFileFlag = True 
     fileObject.close() 
    except IOError: 
     gLogFileFlag = False 

#------------------------------------------------------------------------ 
def logIt(text): 
    sys.stdout.write(text) 
    if(gLogFileFlag): 
     hFile = open(gLogFile, 'a') 
     hFile.write(text) 
     hFile.close()