小编Sin*_*het的帖子

格式错误的字符串ValueError ast.literal_eval(),字符串表示为元组

我正在尝试从文件中读取元组的字符串表示,并将元组添加到列表中.这是相关的代码.

raw_data = userfile.read().split('\n')
for a in raw_data : 
    print a
    btc_history.append(ast.literal_eval(a))
Run Code Online (Sandbox Code Playgroud)

这是输出:

(Decimal('11.66985'), Decimal('0E-8'))
Traceback (most recent call last):


File "./goxnotify.py", line 74, in <module>
    main()
  File "./goxnotify.py", line 68, in main
    local.load_user_file(username,btc_history)
  File "/home/unix-dude/Code/GoxNotify/local_functions.py", line 53, in load_user_file
    btc_history.append(ast.literal_eval(a))
  File "/usr/lib/python2.7/ast.py", line 80, in literal_eval
    return _convert(node_or_string)

  `File "/usr/lib/python2.7/ast.py", line 58, in _convert
   return tuple(map(_convert, node.elts))
  File "/usr/lib/python2.7/ast.py", line 79, in _convert
   raise ValueError('malformed string')
   ValueError: malformed string
Run Code Online (Sandbox Code Playgroud)

python parsing representation python-2.x abstract-syntax-tree

38
推荐指数
3
解决办法
7万
查看次数

使用Pycurl获取HTML

我一直在尝试使用pycurl检索HTML页面,因此我可以使用str.split和一些for循环解析相关信息.我知道Pycurl检索HTML,因为它将它打印到终端,但是,如果我尝试做类似的事情

html = str(c.perform())  
Run Code Online (Sandbox Code Playgroud)

该变量只包含一个字符串,表示"无".

我如何使用pycurl来获取html,或者将它发送到控制台的任何内容重定向,以便它可以像上面描述的那样用作字符串?

非常感谢任何有任何建议的人!

python pycurl

9
推荐指数
2
解决办法
2万
查看次数

检测C中按下了哪个键

我正试图找到一种方法来找出在C中按下哪个键.这将是在用GTK2编写的图形环境中,但我不认为答案就在那里.我想我可以使用Xlib做到这一点,但我还没有找到任何结论.

有没有人对如何做到这一点有任何建议?

我已设法使用以下代码捕获按键:

GtkWidget *window;
void gtk_widget_set_events(window,GDK_KEY_RELEASE_MASK);
g_signal_connect(window,"key_release_event",G_CALLBACK(hello),NULL);
Run Code Online (Sandbox Code Playgroud)

但是,我想确定按下了哪个键.从Aditya Kumar发布的链接中,我知道答案在于使用GdkEventKey,因为它是一个具有keyval字段的结构,但我似乎无法使语法正确.获得此号码的正确方法是什么?

这是我尝试过的一种方法:

static void hello( GtkWidget *widget,
               guint   data ){

g_print ("Hello World, %d was pressed\n",data);}
Run Code Online (Sandbox Code Playgroud)

当我捕获key_release_event时,我尝试通过执行此操作来提供"数据":

g_signal_connect(window,"key_release_event",G_CALLBACK(hello),GdkEventKey.keyval);
Run Code Online (Sandbox Code Playgroud)

但是,我得到一个编译器错误,如下所示:

hello.c:85:5: error: expected ‘)’ before ‘.’ token 
hello.c:85:5: error: expected expression before ‘,’ token
Run Code Online (Sandbox Code Playgroud)

c gtk gtk2

3
推荐指数
1
解决办法
7335
查看次数