是否有函数在numpy数组的任意维度上获取迭代器?
迭代第一维很容易......
In [63]: c = numpy.arange(24).reshape(2,3,4)
In [64]: for r in c :
....: print r
....:
[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]
Run Code Online (Sandbox Code Playgroud)
但迭代其他维度更难.例如,最后一个维度:
In [73]: for r in c.swapaxes(2,0).swapaxes(1,2) :
....: print r
....:
[[ 0 4 8]
[12 16 20]]
[[ 1 5 9]
[13 17 21]]
[[ 2 6 10]
[14 18 22]]
[[ 3 …Run Code Online (Sandbox Code Playgroud) class foo
{
public:
void say_type_name()
{
std::cout << typeid(this).name() << std::endl;
}
};
int main()
{
foo f;;
f.say_type_name();
}
Run Code Online (Sandbox Code Playgroud)
上面的代码在我的ubuntu机器上用g ++ 打印P3foo.我不知道它为什么打印P3foo而不仅仅是foo.如果我改变代码就好
std::cout << typeid(*this).name() << std::endl;
Run Code Online (Sandbox Code Playgroud)
它打印3foo.
有什么想法吗?
我正在尝试设置Hudson JIRA插件.我们的JIRA服务器使用自签名SSL证书进行保护.我已经使用keytool命令插入了我的Web浏览器存储的证书,并让Hudson找到它.但现在抱怨:
java.security.cert.CertificateException: No subject alternative names present
Run Code Online (Sandbox Code Playgroud)
证书的通用名称是"未知",我在证书中看不到任何主题备用名称
$ openssl x509 -in Unknown -text -noout
Certificate:
Data:
Version: 1 (0x0)
Serial Number: 1214507595 (0x4863ea4b)
Signature Algorithm: md5WithRSAEncryption
Issuer: C=US, ST=NJ, L=[Our town], O=[Our company], OU=[Our project], CN=Unknown
Validity
Not Before: Jun 26 19:13:15 2008 GMT
Not After : May 5 19:13:15 2018 GMT
Subject: C=US, ST=NJ, L=[Our town], O=[Our company], OU=[Our project], CN=Unknown
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
[omitted]
Signature Algorithm: …Run Code Online (Sandbox Code Playgroud) Python如何评估类属性?我偶然发现了一个有趣的怪癖(在Python 2.5.2中),我想解释一下.
我有一个类,其中一些属性是根据其他先前定义的属性定义的.当我尝试使用生成器对象时,Python会抛出错误,但如果我使用普通的普通列表解析,那就没问题了.
这是精简的例子.请注意,唯一的区别是Brie使用生成器表达式,同时Cheddar使用列表推导.
# Using a generator expression as the argument to list() fails
>>> class Brie :
... base = 2
... powers = list(base**i for i in xrange(5))
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in Brie
File "<stdin>", line 3, in <genexpr>
NameError: global name 'base' is not defined
# Using a list comprehension works
>>> class Cheddar :
... base = 2 …Run Code Online (Sandbox Code Playgroud) 为什么setuptools/easy_install .pth文件不适合PYTHONPATH,如何让它们很好地播放,并在sys.path中的那些.pth推送之前将目录保存在我的PYTHONPATH中?
我目前的问题是我为我们的项目创建了一个包,PyYAML和PyCrypto都是需求.
install_requires=["PyYAML",
"pycrypto >= 2.3"]
Run Code Online (Sandbox Code Playgroud)
正如我们一直在开发的那样,我们已经使用pip在标准目录(/usr/lib64/python2.6/site-packages)中安装了PyYaml.我们在那里安装了旧版本的PyCrypto,然后发现我们需要更新的版本,我们在/opt/devtools/lib64/python2.6/site-packages下安装了它.在/ usr/lib64之前,我们已经将我们的PYTHONPATH设置为首先从/ opt读取.这一切在开发中都很好.当我们运行时,我们从/ opt获得PyCrypto 2.3,从/ usr/lib64 /获得PyYaml ....
但现在,当我尝试在virtualenv中安装时,当我运行时python setup.py develop,setuptools/distribute最终将/usr/lib64/python2.6/site-packages添加到easy-install.pth,但不是/ opt/devtools /lib64/python2.6/site-packages.它正在找到正确的版本,如输出中所示:
Using /home/s3447/projects/wsrs.git/emp_parsing
Searching for pycrypto==2.3
Best match: pycrypto 2.3
Adding pycrypto 2.3 to easy-install.pth file
Using /opt/wsrs-devtools/stow/pycrypto-2.3/lib64/python2.6/site-packages
Searching for PyYAML==3.10
Best match: PyYAML 3.10
Adding PyYAML 3.10 to easy-install.pth file
Run Code Online (Sandbox Code Playgroud)
但是不要在easy-install.pth中添加/ opt/.... (只有/ usr/lib64 ...并且我运行setup.py的目录被添加到路径中.)
最终的结果是,虽然我的setuptools认为它是成功的,但是当我运行我的代码时,easy-install.pth决定它比我更了解我想要的东西,在我的PYTHONPATH之前插入自己,我最终导入了错误的版本PyCrypto.
两个问题:
为什么setuptools与它添加到.pth文件的目录不一致?我希望安装两个目录或两个目录.
有没有办法让setuptools不试图覆盖我的PYTHONPATH?为什么这首先被认为是一个好主意?
我在plugins文件夹中有一堆externals目录.
~> svn propedit svn:externals .
akismet http://plugins.svn.wordpress.org/akismet/trunk/
stats http://plugins.svn.wordpress.org/stats/tags/1.3.7/
html-purified http://svn.wp-plugins.org/html-purified/trunk/
Run Code Online (Sandbox Code Playgroud)
有时我会更新一个外部参考来更新版本号从1.3.7到1.3.8但是我被迫向svn up整个文件夹发出一个命令并且根本svn up stats不起作用,而是返回如下内容:
At revision 108437.
Run Code Online (Sandbox Code Playgroud)
而不是从外部存储库更新文件夹.是否可以更新单个外部子文件夹?
为了标记我们创建的数据,我正在考虑使用 uuid。安全性不是问题,所以我打算使用版本 1(基于日期和 mac 地址)。唯一的问题是每个用户可能会从具有多个线程的不同进程同时创建多个数据文件。假设 Python 的 uuid 库是线程安全的(尽管看起来并非如此),但仍然存在多进程问题。我正在考虑在 uuid 后面加上破折号和进程号。
由于我们小组对 uuid 的经验很少,有什么需要注意的问题吗?通常如何处理多进程问题?
我已经尝试过阅读文档,但这是相当难以理解的,所以我希望有人可能有一个简单的答案.我想基于'debug'定义一个新的'variant',它只是将一些宏定义添加到编译器命令行,例如"-DSOMEMACRO".我想我可以做这个作为调试的"子变体",或者只是定义一个复制'debug'的新变种,但我甚至不确定在哪里做这个.看起来$ BOOST_BUILD_DIR/build中的feature.jam可能就是这个地方.也许我真正想要的只是一个新的"功能",但我仍然不清楚我需要做什么以及在哪里,我不知道'功能'是否允许我将构建产品指向不同的目录到'debug'构建.
任何建议将不胜感激.(如果您想知道,我必须使用bjam,因为它已被采纳为我们的企业标准.)
在我的Oracle数据库中,我有一个大小为3.44 GB的表.它是1784486行,450146,对应于8 kB块大小,每块平均4行,或每行2 kB.但AVG_ROW_LEN只有369个字节.造成这种差异的原因是什么?
更多细节:
PCT_FREE只有10个,所以不应该负责.压缩目前已关闭.表格布局是(列名称一般化)
KEY NUMBER(38) NOT NULL,
DATE1 DATE NOT NULL,
DATE2 DATE NOT NULL,
POINT NUMBER(4) NOT NULL,
NAME VARCHAR2(200 BYTE) NOT NULL,
BLOB_SIZE NUMBER(38) NOT NULL,
BLOB_TYPE VARCHAR2(8 BYTE) NOT NULL,
BLOB_FILTERS VARCHAR2(64 BYTE) NOT NULL,
BLOB_DATA BLOB NOT NULL,
PRECOMPUTED RAW(2000) -- currently no more than ~200 bytes
-- (15 doubles, plus some headers)
Run Code Online (Sandbox Code Playgroud) 我有一个应用程序,允许您将事件数据发送到自定义脚本.您只需布置命令行参数并分配哪些事件数据与哪个参数相关.问题是这里没有真正的灵活性.您将映射的每个选项都将被使用,但并非每个选项都必须包含数据.因此,当应用程序构建要发送到脚本的字符串时,某些参数为空,并且python的OptionParser错误输出"error: - someomegument option需要参数"
因为有超过200个数据点,所以我不能编写单独的脚本来处理可能的参数的每个组合(它需要2 ^ 200个脚本).有没有办法在python的optionparser中处理空参数?
我们可以在开发人工智能系统时使用哪些编程语言?应该使用哪种操作系统?可以使用C或C++编程语言吗?
我是编程新手,我正在学习Python作为我的第一语言.我的任务是编写一个脚本,将一种输入文件类型转换为另一种.我的问题是:输入文件的一部分可以有任意数量的数据行.我写了一个循环来确定有多少行,但似乎无法编写一个循环,将每一行定义为自己的变量,例如:rprim1,rprim2,rprim3等.这是我用来从文件中提取变量的代码:
rprim1=linecache.getline(infile,7)
Run Code Online (Sandbox Code Playgroud)
重申一下,我希望解析器定义许多数据行,X,作为rprimx,每行7到7 + X.
任何帮助,将不胜感激.
谢谢
python ×6
c++ ×2
attributes ×1
bjam ×1
boost-build ×1
c ×1
class ×1
g++ ×1
java ×1
jira ×1
loops ×1
numpy ×1
optionparser ×1
optparse ×1
oracle ×1
pythonpath ×1
setuptools ×1
svn ×1
typeid ×1
uuid ×1
variables ×1