就linux而言,我有严格的空间限制,因为我在4GB闪存驱动器上运行linux.我知道GHC是Haskell的首选编译器,但GHC包是280MB,这对我来说太大了.是否有一个较小的Haskell编译器的Linux工作正常?
我已经习惯用Java编程了一段时间,但我仍然对基础知识有一些亟待解决的问题.我听说我应该使用System.out.println()来显示来自某些人的数据,而其他人给了我不同的想法(比如PrintStream或其他东西).在Java中打印到控制台的最佳方法是什么?
我正在尝试使用lxml.etree来解析Wordpress导出文档(它的XML,有点像RSS).我只对已发布的帖子感兴趣,所以我使用以下内容来浏览已发布的帖子:
for item in data.findall("item"):
if item.find("wp:post_type").text != "post":
continue
if item.find("wp:status").text != "publish":
continue
write_post(item)
Run Code Online (Sandbox Code Playgroud)
找到data所有item标签的标签在哪里.item标签包含帖子,页面和草稿.我的问题是lxml找不到:名字中有标签的标签(例如wp:post_type).当我尝试时,item.find("wp:post_type")我收到此错误:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "lxml.etree.pyx", line 1279, in lxml.etree._Element.find (src/lxml/lxml.e
tree.c:38124)
File "/usr/lib64/python2.7/site-packages/lxml/_elementpath.py", line 210, in f
ind
it = iterfind(elem, path)
File "/usr/lib64/python2.7/site-packages/lxml/_elementpath.py", line 200, in i
terfind
selector = _build_path_iterator(path)
File "/usr/lib64/python2.7/site-packages/lxml/_elementpath.py", line 184, in _
build_path_iterator
selector.append(ops[token[0]](_next, token))
KeyError: ':' …Run Code Online (Sandbox Code Playgroud) read_all()”从 cisco 设备读取数据。有时它会读取数据,有时它不会读取并给出空字符串。我尝试了以下 2 个命令,但仍然不能持续读取数据。
data=tn.read_until("exit")
data= tn.read_all()
Run Code Online (Sandbox Code Playgroud)
请提供一些输入,我是Python新手。
我正在使用的代码:
_command2='show chassis'
print 'Commands issued............'
#ISSUE COMMANDS VIA TELNET
tn.write("term len 0\r")
#tn.read_until(" ")
#tn.write(_command1+"\r")
tn.write(_command2+"\r")
tn.write("exit\r" )
print 'Read telnet data............'
#READ TELNET DATA
#data=tn.read_eager()
data=tn.read_until("exit")
#data= tn.read_all()
#print data
print 'Telnet data read successfully............'
Run Code Online (Sandbox Code Playgroud) 我试图在我的源代码中进行系统调用,如下所示。
int file;
file = open(argv[index], O_RDONLY);
Run Code Online (Sandbox Code Playgroud)
其中命令行参数是我的文件系统中二进制文件的路径。但是这个调用给我带来了一个EINVAL错误。我已检查文件是否存在以及访问该文件所需的权限。
任何关于什么情况下EINVAL错误的建议都会被抛出。
试图从二进制数的左端去掉"0b1".
以下代码导致剥离所有二进制对象.(不好)
>>> bbn = '0b1000101110100010111010001' #converted bin(2**24+**2^24/11)
>>> aan=bbn.lstrip("0b1") #Try stripping all left-end junk at once.
>>> print aan #oops all gone.
''
Run Code Online (Sandbox Code Playgroud)
所以我分两步完成了.lstrip():
>>> bbn = '0b1000101110100010111010001' # Same fraction expqansion
>>> aan=bbn.lstrip("0b")# Had done this before.
>>> print aan #Extra "1" still there.
'1000101110100010111010001'
>>> aan=aan.lstrip("1")# If at first you don't succeed...
>>> print aan #YES!
'000101110100010111010001'
Run Code Online (Sandbox Code Playgroud)
这是怎么回事?
再次感谢您通过一个简单的步骤解决此问题.(见我之前的问题)
也许这只是我在更多命令式编程中的背景,但我喜欢在我的代码中使用return语句.
我理解在Scala中,许多方法都不需要返回,因为默认情况下返回的是上次计算的值.据我所知,这对于"单线"非常有意义,例如
def square(x) = x * x
Run Code Online (Sandbox Code Playgroud)
我也理解使用显式返回的明确情况(当你的代码可以使用多个分支时,你想要为不同的分支打破方法,例如,如果发生错误).但是多线功能呢?如果有明确的回报,那么它是否更具可读性并且更有意义,例如
def average(x: List[Int]) : Float = {
var sum = 0
x.foreach(sum += _)
return sum / x.length.toFloat
}
Run Code Online (Sandbox Code Playgroud) 我一直在使用Eclipse和PyDev(在Windows上,请注意)我的Python Tkinter项目大约一个月了,直到最近我还没有抱怨.我启动了一个模块(我的GUI)的源代码,如下所示:
from Tkinter import *
Run Code Online (Sandbox Code Playgroud)
现在,自从我更新的Eclipse 3.6.1,它显示了在Tkinter的模块每次调用(错误Frame(),Label(),Tk(),等).我认为在更新期间可能出现了问题,所以我卸载了Eclipse,重新下载它(Eclipse 3.6.1 Classic),然后重新安装它.然后,看到这给我带来了一堆安装PyDev的错误,我删除了它,得到了Eclipse 3.6.0 Classic,安装了它,并得到了我之前试图解决的同样问题.
我不明白这里有什么不对.对我来说没有任何意义,为什么突然之间Eclipse会停止认识到我已经导入了Tkinter.
有人可以提供任何建议/意见吗?我真的很想坚持使用Eclipse,我对它非常满意,但我无法处理它给我200个错误.
为什么我需要在使用Perl的"Content-Type:text/html"之后两次放置"\n",但是只用Python一次?例如,以下Python脚本有效:
#!/usr/bin/python
print "Content-Type: text/html\n"
print "Hello World!"
Run Code Online (Sandbox Code Playgroud)
但是以下Perl脚本不起作用(它提供了脚本头过早结束的错误消息):
#!/usr/bin/perl
print "Content-Type: text/html\n";
print "Hello World!";
Run Code Online (Sandbox Code Playgroud)
相反,我需要添加一个额外的"\n"来让它工作:
#!/usr/bin/perl
print "Content-Type: text/html\n\n";
print "Hello World!";
Run Code Online (Sandbox Code Playgroud)