小编Joa*_*org的帖子

在Python中管道stdout时设置正确的编码

管道Python程序的输出时,Python解释器会对编码感到困惑,并将其设置为None.这意味着这样的程序:

# -*- coding: utf-8 -*-
print u"åäö"
Run Code Online (Sandbox Code Playgroud)

正常运行时会正常工作,但失败时:

UnicodeEncodeError:'ascii'编解码器无法对位置0中的字符u'\ xa0'进行编码:序数不在范围内(128)

当在管道序列中使用时.

在配管时使这项工作的最佳方法是什么?我可以告诉它使用shell/filesystem /无论使用什么编码吗?

到目前为止我看到的建议是直接修改你的site.py,或者使用这个hack对defaultencoding进行硬编码:

# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
print u"åäö"
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法使管道工作?

python terminal encoding stdout python-2.x

327
推荐指数
7
解决办法
19万
查看次数

在R中覆盖具有相同名称的值时组合列表

我有两个带有命名元素的列表:

a <- list(a=1, b=2)
b <- list(b=3, c=4)
Run Code Online (Sandbox Code Playgroud)

我想组合这些列表,以便具有相同名称的任何元素都将被列表b覆盖,所以我得到了这个:

list(a=1, b=3, c=4)
Run Code Online (Sandbox Code Playgroud)

我知道我可以循环执行此操作,但是在R中有更简洁的方法吗?

r

21
推荐指数
2
解决办法
6114
查看次数

使用配置文件打包Python应用程序

我正在使用ConfigParser来配置我的应用程序,现在我想让它易于分发,同时保持可配置性.

我想我需要一个包含配置文件模板的目录,以及一些生成配置以实际使用这些模板的方法.然后我需要一个存储它的地方,可以在virtualenv,用户主目录等工作.我希望它与普通的Unix软件包的工作方式一样接近,即在其他方面有配置,但在主目录中有覆盖.是否有现成的解决方案,如果没有,我应该在setup.py等中放置什么才能让它像我想要的那样工作?

python packaging configuration-files

15
推荐指数
1
解决办法
4496
查看次数

如何在python注释中指定输入和输出数据类型?

我已经看到了几种标准,用于编写关于函数期望并在Python中返回的数据类型的注释.关于哪一个是最佳实践,是否达成共识?

http://www.python.org/dev/peps/pep-3107/中的新功能是否应该开始使用?

python documentation types comments

13
推荐指数
3
解决办法
2万
查看次数

使用线程和队列时如何处理异常?

如果我有一个使用线程和队列的程序,我如何获得停止执行的异常?这是一个示例程序,不能用ctrl-c停止(基本上是从python文档中删除).

from threading import Thread
from Queue import Queue
from time import sleep

def do_work(item):
    sleep(0.5)
    print "working" , item

def worker():
        while True:
            item = q.get()
            do_work(item)
            q.task_done()

q = Queue()

num_worker_threads = 10

for i in range(num_worker_threads):
     t = Thread(target=worker)
    # t.setDaemon(True)
     t.start()

for item in range(1, 10000):
    q.put(item)

q.join()       # block until all tasks are done
Run Code Online (Sandbox Code Playgroud)

python multithreading exception

10
推荐指数
1
解决办法
5553
查看次数

SQLAlchemy中的星型模式

我有一个星型模式架构数据库,我想在SQLAlchemy中表示.现在我遇到了如何以最佳方式完成这项工作的问题.现在我有很多具有自定义连接条件的属性,因为数据存储在不同的表中.如果有可能重新使用不同事实表格的维度,那将是很好的但我还没弄清楚如何做得很好.

sqlalchemy star-schema

9
推荐指数
1
解决办法
1702
查看次数

如何格式化使用logging.captureWarnings捕获的警告?

我使用以下代码来记录警告:

import logging
logging.captureWarnings(True)
formatter = logging.Formatter('%(asctime)s\t%(levelname)s\t%(message)s')
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
console_handler.setFormatter(formatter)
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,我的日志记录格式化程序未应用,警告显示如下:

WARNING:py.warnings:/home/joakim/.virtualenvs/masterload/local/lib/python2.7/site-packages/MySQL_python-1.2.3c1-py2.7-linux-x86_64.egg/MySQLdb/cursors.py:100: Warning: 
InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
Run Code Online (Sandbox Code Playgroud)

而不是预期的格式:

2012-11-12 18:19:44,421 INFO    START updating products
Run Code Online (Sandbox Code Playgroud)

如何将正常格式应用于捕获的警告消息?

python logging warnings

7
推荐指数
2
解决办法
2079
查看次数

混合语言源目录布局

我们正在运行一个包含几种不同语言的大型项目:Java,Python,PHP,SQL和Perl.

到目前为止,人们一直在他们自己的私有存储库中工作,但现在我们想要将整个项目合并到一个存储库中.现在的问题是:目录结构应该如何?我们应该为每种语言设置单独的目录,还是应该按组件/项目分开?python/perl/java如何处理公共目录布局?

python java sql directory

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