2013-07-03 62 views
0

下面的代碼工作正常,作爲一個python代碼(沒有gdb模塊),但它不工作在gdb內部?gdb-python:爲什麼下面的代碼不能在gdb下工作?

#!/usr/bin/env python 
import csv 
import gdb 

list = [] 
x = open("file.txt") 
with x as csv_data: 
    entries = csv.reader(csv_data, delimiter=",") 
    for entry in entries: 
     list.append({ 
      "name": entry[0], 
      "type": entry[1], 
      "link": entry[2], 
      "level": entry[3] 
     }) 

的錯誤是:

(gdb) source script.py 
File "script.py", line 6 
    with x as csv_data: 
     ^
SyntaxError: invalid syntax 

file.txt的是:

Mac, char, list, one 
John, char, list, three 
... 
... 

似乎有與withas關鍵字的問題。

+0

任何人都可以請回復? –

回答

0

gdb可能與不同版本的Python鏈接,而不管它是你期望的。

您可以使用通常的Python方法或使用「ldd gdb」來檢查。

Python允許您從「future」導入「with」 - 搜索此內容。

+0

無法解決,我有python 3.0.1 installed.output'ldd gdb'是'libncurses.so.5 => /usr/lib64/libncurses.so.5(0x0000003c29200000)' 'libz.so.1 => /usr/lib64/libz.so.1(0x0000003c17c00000)''libm.so.6 => /lib64/libm.so.6(0x0000003c16c00000)''libpthread.so.0 => /lib64/libpthread.so .0(0x0000003c17400000)''libdl.so.2 => /lib64/libdl.so.2(0x0000003c17000000)''libutil.so.1 => /lib64/libutil.so.1(0x0000003c24600000)''libexpat.so .0 => /lib64/libexpat.so.0(0x0000003c1b800000)''libc.so.6 => /lib64/libc.so.6(0x0000003c16800000)''/lib64/ld-linux-x86-64.so。 2(0x0000003c16400000)' –

+0

然後你做了一些奇怪的事情,因爲根據你的gdb根本不包含python。 –

+0

但python正在其中工作。你能建議我該怎麼做。? 如果需要,我可以從頭安裝它。 –

相關問題