pythonログレコードはdebug【copyお兄さんの】

2173 ワード

---------------------------------------
import
sys...
if __
name__== '__main__':
    oldStdout =
sys.
stdout
   
sys.
stdout =
open( "script.log", "w+")
   
print script.SchoolSong(Download())
   
sys.
stdout = oldStdout
----------------------------------------
pdbを使用して、デバッグします.
Pythonはpdbというデバッガを持っていて、Gnuのgbdと似ています.pdbの機能を簡単なプログラムで説明します.プログラムコードは次のとおりです.
#!/usr/bin/python

import pdb
a = "aaa"
pdb.set_trace()
b = "bbb"
c = "ccc"
final = a + b + c
print final

このプログラムはpdbモジュールにインポートされ、コードに追加されたpdbである.set_トレースポイント.プログラムを実行しましょう.
localhost:~/python/pdb# python pdbtest.py
--Return--
> /usr/lib/python2.3/pdb.py(992)set_trace()->None
-> Pdb().set_trace() #
(Pdb) n # n
> /root/python/pdb/pdbtest.py(6)?()
-> b = "bbb"
(Pdb) n
> /root/python/pdb/pdbtest.py(7)?()
-> c = "ccc"
(Pdb) p b # p
'bbb'
(Pdb) l # l
2
3 import pdb
4 a = "aaa"
5 pdb.set_trace()
6 b = "bbb"
7 -> c = "ccc"
8 final = a + b + c
9 print final
10
[EOF]
(Pdb) n
> /root/python/pdb/pdbtest.py(8)?()
-> final = a + b + c
(Pdb) n # , , 'n'
> /root/python/pdb/pdbtest.py(9)?()
-> print final
(Pdb) n
aaabbbccc
--Return--
> /root/python/pdb/pdbtest.py(9)?()->None
-> print final
(Pdb) p a,b,c,final
('aaa', 'bbb', 'ccc', 'aaabbbccc')
(Pdb)
('aaa', 'bbb', 'ccc', 'aaabbbccc')
(Pdb) n
localhost:~/python/pdb# # shell

pdbには多くのコマンドがあり、helpコマンドですべてのpdbコマンドをリストすることができ、helpでpコマンドの説明をクエリーすることができます.