我试着用图书馆制作
ar -r -c -s libtestlib.a *.o
Run Code Online (Sandbox Code Playgroud)
如本教程http://matrixprogramming.com/Tools/CompileLink.html中所述
但在链接库后出现错误
g++ -o uni2asc uni2asc.o -L../Modules -ltestlib
../Modules/libtestlib.a: could not read symbols: Archive has no index; run ranlib to add one
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
我尝试使用ranlib但仍然出现错误..我正在使用ubuntu9.10请为我建议一些解决方案
我正在尝试使用谷歌翻译API翻译字符串.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import urllib
import urllib2
import ast
url = 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q='+urllib.quote(' '.join(sys.argv[3:])) +'&langpair='+sys.argv[1]+'%7C'+sys.argv[2]
print url
transtext =urllib2.urlopen(urllib2.Request(url)).read()
content=ast.literal_eval(transtext)
print content['responseData']['translatedText']
Run Code Online (Sandbox Code Playgroud)
python testURL.py你好'नमस्ते'
这是给出的网址.
http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=%E0%A4%A8%E0%A4%AE%E0%A4%B8%E0%A5%8D%E0% A4%A4%E0%A5%87&langpair = hi%7Cen 如果我们检查上面的url我们可以看到输出是你好
{"responseData": {"translatedText":"Hello"}, "responseDetails": null, "responseStatus": 200}
Run Code Online (Sandbox Code Playgroud)
这是字符串格式,所以我试图使用ast.literal_eval将其转换为字典格式,然后通过内容['responseData'] ['translatedText']访问字典中的数据但发生以下错误
错误:
content=ast.literal_eval(transtext)
File "/usr/lib/python2.6/ast.py", line 49, in literal_eval
node_or_string = parse(node_or_string, mode='eval')
File "/usr/lib/python2.6/ast.py", line 37, in parse
return compile(expr, filename, mode, PyCF_ONLY_AST)
TypeError: compile() expected string without null bytes
Run Code Online (Sandbox Code Playgroud)
python版本2.6和操作系统Ubuntu 9.10