我在64位Win7机器上使用带有32位Python2.7版本的inspyred库编写了一个遗传算法程序.在生成总体时,程序在使用高达1959044K的内存时停止运行.
我在这个网站上已经阅读了很多问题,据我所知,这是因为操作系统对32位程序的上限为2GB.所以我试图切换到64位Python并安装我正在使用的64位版本的模块,不幸的是,除了一个模块之外,所有模块都无法在64位平台上运行.
我还在另一个问题中按照建议安装了pywin32但是也没有帮助.这个模块不是标准的Python库,我在下面粘贴了它.我得到的错误信息是:
import AoN
ImportError: DLL load failed: %1 is not a valid Win32 application.
Run Code Online (Sandbox Code Playgroud)
我的理解是64位Python无法识别32位模块.我也在这里阅读:http://effbot.org/zone/python-compile.htm关于编译源代码,但是我已经编译了64位的源代码,但这也没有帮助,因为它继续给出错误.
最后,我在解释器路径中粘贴了模块的目录路径,但这也没有用.
有没有办法让这个模块在64位Python上运行?请任何人解释编译源代码的过程,如果这可以帮助我?
我目前遇到一个python脚本的主要问题.该脚本通过处理程序运行任意命令,以将错误的错误报告转换为正确的错误报告.
我遇到的问题是让脚本在Windows上正常工作,其命令在其路径中包含&符号.我试图引用命令,用^来逃避&符号,但都不起作用.我现在已经没想法了.有什么建议?
从目前的答复中澄清:
[Error 123] The filename, directory name, or volume label syntax is incorrect错误shell=false)p = subprocess.Popen(prog,stderr = subprocess.PIPE,bufsize = -1)
当列表'prog'的第一个元素包含任何&符号时.引用第一个字符串不起作用.
我正在尝试打包我的模块,但我似乎无法让它工作.
我的目录树类似于以下内容:
snappy/
__init__.py
main/
__init__.py
main.py
config.py
...
...
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码是
from snappy.main.config import *
Run Code Online (Sandbox Code Playgroud)
我收到错误:
ImportError: No module named snappy.main.config
Run Code Online (Sandbox Code Playgroud)
有什么想法会出错吗?这是在Ubuntu 8.10上使用Python 2.5.
在此先感谢您的帮助.
我尝试使用以下程序在Windows下包装cmd.exe但它不起作用,它似乎等待某些东西并且不显示任何内容.知道这里有什么问题吗?
import subprocess
process = subprocess.Popen('cmd.exe', shell=False, stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=None)
process.stdin.write("dir\r\n")
output = process.stdout.readlines()
print output
Run Code Online (Sandbox Code Playgroud) 我有一台安装了Ubuntu 10.04的笔记本电脑.我将部分文件从一台计算机迁移到此计算机.但有一些文件,如Thumbs.db文件,我想要摆脱每一次出现.
我试过用
locate Thumbs.db | rm
Run Code Online (Sandbox Code Playgroud)
但是dis没有成功(显然它不应该).然后我尝试使用以下,但很可能没有一个成功:
locate thumbs.db > rm
locate thumbs.db < rm
Run Code Online (Sandbox Code Playgroud)
正如大家在这里,可能已经指出我很难使用管道,并希望以此为例清除我的概念.我已经阅读了基础知识,但仍无法在原语中应用它.
我正在编写一个简单的脚本来从这里获取大灰色表.
我的代码如下:
import urllib2
from lxml import etree
html = urllib2.urlopen("http://www.afi.com/100years/movies10.aspx").read()
root = etree.XML(html)
Run Code Online (Sandbox Code Playgroud)
但是我在最后一个声明中收到错误.
Traceback (most recent call last):
File "D:\Workspace\afi100\afi100.py", line 13, in <module>
root = etree.XML(html)
File "lxml.etree.pyx", line 2720, in lxml.etree.XML (src/lxml/lxml.etree.c:52577)
File "parser.pxi", line 1556, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:79602)
File "parser.pxi", line 1435, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:78449)
File "parser.pxi", line 943, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:75099)
File "parser.pxi", line 547, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:71467)
File "parser.pxi", line 628, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:72340)
File "parser.pxi", line 568, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:71683) …Run Code Online (Sandbox Code Playgroud) 我os.chdir()用来更改我的recommendations.py文件所在的当前目录.然后我打字Import recommendations,我得到错误:
ImportError: No module named recommendations.
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?
我有这样的XML结构:
mytree = """
<path>
<to>
<nodes>
<info>1</info>
<info>2</info>
<info>3</info>
</nodes>
</to>
</path>
"""
Run Code Online (Sandbox Code Playgroud)
我目前正在使用python lxml中的xpath来获取节点:
>>> from lxml import etree
>>> info = etree.XML(mytree)
>>> print info.xpath("/path/to/nodes/info")
[<Element info at 0x15af620>, <Element info at 0x15af940>, <Element info at 0x15af850>]
>>> for x in info.xpath("/path/to/nodes/info"):
print x.text
1
2
3
Run Code Online (Sandbox Code Playgroud)
这是伟大的,但有没有抢到一个更清洁的方式只是内部的文本作为一个列表,而不是在事后写for循环?
就像是:
print info.xpath("/path/to/nodes/info/text")
Run Code Online (Sandbox Code Playgroud)
(但这不起作用)
我已经为Python 2.6.1的一些同事的Mac OSX编写了一个实用程序脚本.由于它们没有安装所有必需的模块,我有一个try-except import子句:
try:
import argparse
except ImportError:
print "argparse module missing: Please run 'sudo easy_install argparse'"
sys.exit(1)
Run Code Online (Sandbox Code Playgroud)
我很确定有更优雅的方法来处理这个问题.有任何想法吗?
argparse当我混合位置参数,可选参数和时,我遇到了一个问题argparse.REMAINDER
parser = argparse.ArgumentParser()
parser.add_argument('verbose', action="store")
parser.add_argument('--config', '-c', nargs="?", dest="config_file")
parser.add_argument('--dry-run', action="store_true", dest="dryrun")
parser.add_argument('args', nargs=argparse.REMAINDER, action="store")
Run Code Online (Sandbox Code Playgroud)
样品运行:
python test.py verose="5" --config config.xml graph --dry-run
Run Code Online (Sandbox Code Playgroud)
预期产量:
verbose = "5"
config_file = config.xml
dryrun = True
args = ['graph']
Run Code Online (Sandbox Code Playgroud)
实际产量:
verbose = "5"
config_file = config.xml
dryrun = False
args = ['graph', '--dry-run']
Run Code Online (Sandbox Code Playgroud)
我的要求是我有verbose,-c,--config并--dry-run作为命令行选项,在命令行提供的任何其他选项应存放在列表中args,不论在命令行的参数出现的顺序的.请帮助我做错了.另外还有其他更好的python命令行解析器吗?
python ×9
lxml ×2
subprocess ×2
windows ×2
32bit-64bit ×1
argparse ×1
html-parsing ×1
macos ×1
package ×1
pipe ×1
pipeline ×1
python-2.7 ×1
pythonpath ×1
ubuntu ×1
xml ×1
xml-parsing ×1
xpath ×1