小编Ant*_*ong的帖子

pymacs:一般问题和安装问题

我正在尝试为python开发设置emacs.

根据我的阅读,建议使用python-mode.el而不是Emacs 22.3中的默认python.el.所以我踏上了新的冒险之旅.

根据我的理解,python-mode有几个依赖项,所以我需要安装rope,ropemode和ropemacs.然后,我需要安装pymacs.

问:这是对的吗?

这是我的新.emacs现在:

(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(inhibit-startup-screen t)
 '(tab-width 4))
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should …
Run Code Online (Sandbox Code Playgroud)

python emacs pymacs rope

6
推荐指数
1
解决办法
5207
查看次数

Python:拦截类加载动作

简介:当导入某个python模块时,我希望能够拦截这个动作,而不是加载所需的类,我想加载我选择的另一个类.

原因:我正在研究一些遗留代码.在开始一些增强/重构之前,我需要编写一些单元测试代码.但是,代码会导入某个模块,该模块在单元测试设置中会失败.(由于数据库服务器依赖性)

Pseduo代码:

from LegacyDataLoader import load_me_data
...
def do_something():
   data = load_me_data()
Run Code Online (Sandbox Code Playgroud)

因此,理想情况下,当python在单元测试中使用上面的导入行时,会加载替代类MockDataLoader.

我还在使用2.4.3.我想有一个我可以操纵的导入钩子

编辑

非常感谢到目前为止的答案.他们都非常有帮助.

一种特殊类型的建议是关于操纵PYTHONPATH.它在我的情况下不起作用.所以我将在这里阐述我的具体情况.

原始代码库以这种方式组织

./dir1/myapp/database/LegacyDataLoader.py
./dir1/myapp/database/Other.py
./dir1/myapp/database/__init__.py
./dir1/myapp/__init__.py
Run Code Online (Sandbox Code Playgroud)

我的目标是在Other模块中增强Other类.但是因为它是遗留代码,所以如果不首先将测试套件捆绑在一起,我会感到很自在.

现在我介绍一下这个单元测试代码

./unit_test/test.py
Run Code Online (Sandbox Code Playgroud)

内容很简单:

from myapp.database.Other import Other

def test1():
            o = Other()
            o.do_something()

if __name__ == "__main__":
            test1()
Run Code Online (Sandbox Code Playgroud)

当CI服务器运行上述测试时,测试失败.这是因为类Other使用LegacyDataLoader,而LegacydataLoader无法从CI框建立与数据库服务器的数据库连接.

现在让我们按照建议添加一个假类:

./unit_test_fake/myapp/database/LegacyDataLoader.py
./unit_test_fake/myapp/database/__init__.py
./unit_test_fake/myapp/__init__.py
Run Code Online (Sandbox Code Playgroud)

将PYTHONPATH修改为

export PYTHONPATH=unit_test_fake:dir1:unit_test
Run Code Online (Sandbox Code Playgroud)

现在测试失败了另一个原因

  File "unit_test/test.py", line 1, in <module>
    from myapp.database.Other import Other
ImportError: No module named Other
Run Code Online (Sandbox Code Playgroud)

它与python解析模块中的类/属性的方式有关

python unit-testing

6
推荐指数
1
解决办法
844
查看次数

iOS:self.view.bounds没有填满整个窗口

我正在做一些简单的测试,将CALayer添加到UIView中.在我的iPhone 4应用程序的主控制器类中,我实现了viewDidLoad这样的方法:

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"%s", __PRETTY_FUNCTION__);

    CALayer* ca = [[CALayer alloc] init];
    [ca setBounds:self.view.bounds];

    [ca setBackgroundColor:[[UIColor blueColor] CGColor]];

    [self.view.layer addSublayer:ca];
}
Run Code Online (Sandbox Code Playgroud)

蓝色背景仅占屏幕的1/4.

在此输入图像描述

我想知道是不是因为我没有考虑视网膜显示?在这种情况下,最佳做法是什么?


添加了以下调试消息:

NSLog(@"frame w:%f h:%f", self.view.frame.size.width, self.view.frame.size.height);
NSLog(@"bounds w:%f h:%f", self.view.bounds.size.width, self.view.bounds.size.height);
Run Code Online (Sandbox Code Playgroud)

输出:

frame w:320.000000 h:460.000000
bounds w:320.000000 h:460.000000
Run Code Online (Sandbox Code Playgroud)

calayer uiviewcontroller uiview ios iphone-4

6
推荐指数
1
解决办法
6707
查看次数

Python:"import posix"的问题

如果我导入os模块,我可以运行以下来推断os.py的位置

>>> import os
>>> print os.__file__
/usr/lib/python2.6/os.pyc
Run Code Online (Sandbox Code Playgroud)

但是,当我导入时posix,它没有该__file__属性.是因为它是作为python运行时的一部分实现的,而不是作为标准库实现的?

如何仅使用python官方文档找到更多相关信息?

python posix

6
推荐指数
1
解决办法
2508
查看次数

Java相当于Python的itertools.groupby()?

以下是itertools.groupby()Python中的示例用例:

from itertools import groupby

Positions = [   ('AU', '1M', 1000),
                ('NZ', '1M', 1000),
                ('AU', '2M', 4000),
                ('AU', 'O/N', 4500),  
                ('US', '1M', 2500), 
           ]

FLD_COUNTRY = 0
FLD_CONSIDERATION = 2

Pos = sorted(Positions, key=lambda x: x[FLD_COUNTRY])
for country, pos in groupby(Pos, lambda x: x[FLD_COUNTRY]):
    print country, sum(p[FLD_CONSIDERATION] for p in pos)

# -> AU 9500
# -> NZ 1000
# -> US 2500
Run Code Online (Sandbox Code Playgroud)

Java中是否有任何语言构造或库支持可以实现或者可以实现itertools.groupby()上述功能?

python java functional-programming

6
推荐指数
1
解决办法
988
查看次数

如何将请求发送到谷歌应用引擎中设置为"login:admin"的网址?

在我的app.yaml中,网址被定义为:

- url: /api/.*
  script: main.app
  login: admin
  secure: always
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码与api交谈

import requests

def main():
    r = requests.get("https://test.appspots.com/api/get_data", auth=('me@me.com', 'password'))
    print r.status_code, r.text

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

但身份验证失败了,从输出判断,我重定向到登录页面.

如何使用python进行身份验证和访问URL?

python google-app-engine

6
推荐指数
1
解决办法
205
查看次数

如何关闭webpack中的babel缩小?

这是我用来准备生产脚本的webpack配置

  config.output.filename = '[hash].main.js';

  config.module.loaders.push({
    test: /\.js$/,
    loaders: ['babel'],
    exclude: /node_modules/,
    include: path.join(__dirname, 'app'),
  });
Run Code Online (Sandbox Code Playgroud)

但是出于调试目的,我希望能够在xxxx.main.js不进行任何缩小或优化的情况下生成最终输出.

如何通过上述配置实现这一目标?

我实际上对webpack/babel工具不太熟悉,所以我实际上不确定是不是执行缩小的babel或webpack

minify webpack babeljs

6
推荐指数
1
解决办法
1万
查看次数

terraform 中的非空字符串是否为真?

文档或他们的错误数据库中,两位作者似乎更喜欢这样写出表达式:

var.a != "" ? var.a : "default-a"
Run Code Online (Sandbox Code Playgroud)

该值被明确测试为不等于空字符串,然后相应地进行二进制选择。

然而,这也有效吗?

var.a ? var.a : "default-a"
Run Code Online (Sandbox Code Playgroud)

我没有发现它以任何方式明确说明。

terraform

6
推荐指数
2
解决办法
8225
查看次数

Sybase:“IF EXISTS”块中“go”附近的语法不正确

这是我的 sql 语句

IF EXISTS (select 1 from sysobjects where name = 'PNL_VALUE_ESTIMATE')
  drop table dbo.PNL_VALUE_ESTIMATE
go
Run Code Online (Sandbox Code Playgroud)

isql 退出此错误消息

Msg 102, Level 15, State 1:
Server 'DB_SERVER', Line 3:
Incorrect syntax near 'go'.
Run Code Online (Sandbox Code Playgroud)

但是 sql 语句对我来说是正确的。怎么了?

Sybase 版本是 15

t-sql sybase

5
推荐指数
1
解决办法
4805
查看次数

在Swift中返回一个元组

抱歉这样一个基本问题,但我刚刚开始使用元组

这是我的代码

func test() -> (authorName:String, numberOfViews:Int) {

    let author : String = ""
    let numberViews = 0


    return(authorName : author, numberOfView : numberViews)


}
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供正确的方法来做到这一点

提前致谢

iphone objective-c ios ios7 swift

5
推荐指数
1
解决办法
2626
查看次数