为什么itertools.permutations()返回每个排列的字符或数字列表,而不是只返回一个字符串?
例如:
>>> print([x for x in itertools.permutations('1234')])
>>> [('1', '2', '3', '4'), ('1', '2', '4', '3'), ('1', '3', '2', '4') ... ]
Run Code Online (Sandbox Code Playgroud)
为什么不归还呢?
>>> ['1234', '1243', '1324' ... ]
Run Code Online (Sandbox Code Playgroud) 我和Django使用了两个不同的python oauth库来通过twitter进行身份验证.使用WSGI进行apache设置.当我重新启动服务器时,一切都运行良好大约10分钟,然后httplib似乎锁定(请参阅以下错误).
我只运行了1个进程和1个WSGI线程,但这似乎没有任何区别.
我无法弄清楚为什么它会锁定并给出这个CannotSendRequest错误.我花了很多时间来解决这个令人沮丧的问题.任何有关它的提示/建议将不胜感激.
File "/usr/lib/python2.5/site-packages/django/core/handlers/base.py", line 92, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "mypath/auth/decorators.py", line 9, in decorated
return f(*args, **kwargs)
File "mypath/auth/views.py", line 30, in login
token = get_unauthorized_token()
File "/root/storm/eye/auth/utils.py", line 49, in get_unauthorized_token
return oauth.OAuthToken.from_string(oauth_response(req))
File "mypath/auth/utils.py", line 41, in oauth_response
connection().request(req.http_method, req.to_url())
File "/usr/lib/python2.5/httplib.py", line 866, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python2.5/httplib.py", line 883, in _send_request
self.putrequest(method, url, **skips)
File "/usr/lib/python2.5/httplib.py", line 770, in putrequest
raise CannotSendRequest()
Run Code Online (Sandbox Code Playgroud)
CannotSendRequest
我正在尝试使用Spatialite beta版本3.0,因为我在64位计算机上使用Windows 7.
我sqlite3.OperationalError: The
specified module could not be found.尝试加载时始终遇到可怕的错误
libspatialite-4.dll.
我尝试过以下方法:
libspatialite-4.dll和所有其他dll在同一个文件夹中'PATH'环境变量c:\windows\system32文件夹中的所有dll (完成重启机器)c:\windows\sysWoW64文件夹中的所有dll (完成重启机器,这应该是32位dll,但我还是尝试过)我的代码如下:
import sqlite3
conn = sqlite3.connect(":memory:")
conn.enable_load_extension(True)
conn.execute('SELECT load_extension("libspatialite-4.dll")')
Run Code Online (Sandbox Code Playgroud)
注意 - 我也试过了完整的路径而没有运气.我记得在Windows XP 32位上遇到了同样的问题.我得到它的工作,但不记得我做了什么:(
UPDATE
我已经在32位Windows 7上测试了设置,并将所有dll放在System32文件夹中.因此,这表明64位设置存在一些问题.可能是我需要另一个版本的MSVC(我不认为Spatialite网站说哪个是必要的,所以我可能只需要猜测 - 我安装了MSVC2010)?
如何按SQLAlchemy中datetime列的小时部分对查询结果进行分组?
我有很多模型类,它们之间有关系,需要编辑CRUD接口.问题是某些对象无法删除,因为有其他对象引用它们.有时我可以设置ON DELETE规则来处理这种情况,但在大多数情况下,我不希望自动删除相关对象,直到它们被手动解除绑定.无论如何,我想向编辑器呈现一个引用当前查看对象的对象列表,并突出显示那些因FOREIGN KEY约束而无法删除的对象.是否有自动发现引用的现成解决方案?
更新
这个任务似乎很常见(例如django ORM显示所有依赖关系),所以我想知道它还没有解决方案.
建议有两个方向:
backref.但并不能保证所有关系都已backref定义.而且,有些情况下backref毫无意义.虽然我可以在任何地方定义它,但我不喜欢这样做而且它不可靠.MetaData对象表并从其foreign_keys属性中收集依赖关系(sqlalchemy_schemadisplay的代码可以用作示例,感谢stephan的评论).这将允许捕获表之间的所有依赖关系,但我需要的是模型类之间的依赖关系.一些外键在中间表中定义,并且没有与它们对应的模型(secondary在关系中使用).当然,我可以走得更远并找到相关的模型(必须找到一种方法来做到这一点),但它看起来太复杂了.解
下面是我用作解决方案的基本模型类(为声明性扩展而设计)的方法.它并不完美,不符合我的所有要求,但它适用于我项目的当前状态.结果被收集为字典字典,因此我可以通过对象及其属性显示它们.我没有带还未决定它是否是好主意,因为参照网址列表有时是巨大的,我不得不把它限制在一个合理的数值.
def _get_referers(self):
db = object_session(self)
cls, ident = identity_key(instance=self)
medatada = cls.__table__.metadata
result = {}
# _mapped_models is my extension. It is collected by metaclass, so I didn't
# look for other ways to find all model classes.
for other_class in medatada._mapped_models:
queries = {}
for prop in class_mapper(other_class).iterate_properties:
if not …Run Code Online (Sandbox Code Playgroud) 我试图理解Linux如何在etc/shadow文件上加密我们的密码,所以我没有新的虚拟"测试"用户进行一些测试:
user: newuser
密码: usrpw123
生成的盐: Ii4CGbr7
操作系统在etc/shadow文件中使用SHA512加密系统($ 6 $)使我成为以下行: newuser:$ 6 $ Ii4CGbr7 $ IOua8/oPV79Yp.BwzpxlSHjmCvRfTomZ.bhEvjZVxxxqvv82lZVrEtWQQej2pOWMdN7hvKwNgvCXKFQm5CB /:15069:0:99999:7 :::
现在,我从python中获取SHA512模块并试试这个:
import hashlib
m = hashlib.sha512()
m.update('Ii4CGbr7'+'usrpw123')
print m.hexdigest
Run Code Online (Sandbox Code Playgroud)
这给了我以下哈希作为结果: c73156daca3e31125ce457f1343201cc8a26400b2974440af2cc72687922b48b6631d21c186796ea2756ad987a996d2b261fe9ff3af4cc81e14c3029eac5df55
正如你所看到的,它与/ etc/shadow文件中的另一个不同,我不知道为什么我使用相同的salt +密码来生成哈希.
有人能帮我一把,或多或少解释一下为什么会这样吗?
而且,为什么/ etc/shadow文件生成带有一些点(.)的哈希?
谢谢
我有一个表格,其中包含以下声明性定义:
class Type(Base):
__tablename__ = 'Type'
id = Column(Integer, primary_key=True)
name = Column(String, unique = True)
def __init__(self, name):
self.name = name
Run Code Online (Sandbox Code Playgroud)
列"name"有一个唯一的约束,但我能做到
type1 = Type('name1')
session.add(type1)
type2 = Type(type1.name)
session.add(type2)
Run Code Online (Sandbox Code Playgroud)
因此,可以看出,根本没有检查唯一约束,因为我已经在会话中添加了2个具有相同名称的对象.
当我这样做时session.commit(),我得到一个mysql错误,因为约束也在mysql表中.
是否有可能sqlalchemy提前告诉我,我无法制作或识别它,并且不会插入两个具有相同"名称"columm的条目?如果没有,我应该在内存中保留所有现有名称,以便在创建对象之前我可以检查它们是否存在吗?
我xml在我的postgresql数据库中使用,我需要一个自定义类型可以处理xmlSQLAlchemy中的数据.
所以我让XMLType课堂沟通xml.etree,但它没有按照我的意愿工作.
这是我写的代码:
import xml.etree.ElementTree as etree
class XMLType(sqlalchemy.types.TypeDecorator):
impl = sqlalchemy.types.UnicodeText
type = etree.Element
def get_col_spec(self):
return 'xml'
def bind_processor(self, dialect):
def process(value):
if value is not None:
return etree.dump(value)
else:
return None
return process
def process_result_value(self, value, dialect):
if value is not None:
value = etree.fromstring(value)
return value
Run Code Online (Sandbox Code Playgroud)
它适用于检索值和结果处理.但是当我试图插入一行时,我得到一个错误(当然,我把bodyas xml.etree.ElementTree.Element对象):
IntegrityError: (IntegrityError) null value in column "body" violates not-null
constraint "INSERT INTO comments (id, author_id, look_id, body, …Run Code Online (Sandbox Code Playgroud) 我们在三星智能电视的应用程序中使用Apple HLS或渐进式下载来获取/播放视频.我们希望转向受DRM保护的内容,我们在SDK文档中看到PlayReady DRM支持三星智能电视.
我们不明白的是我们可以使用什么样的协议?2011和2012型号的PlayReady DRM(SDK 2.5和3.0)是否仅支持Microsoft Smooth Streaming,还是与Apple HLS兼容?
为了能够通过DRM三星智能电视保护内容,我们需要使用哪种流媒体协议?
任何信息,经验都受到高度赞赏.
javascript drm http-live-streaming smooth-streaming samsung-smart-tv
例如,以下是django.templates.loader.app_directories.py中的一些代码.[1]
try:
yield safe_join(template_dir, template_name)
except UnicodeDecodeError:
# The template dir name was a bytestring that wasn't valid UTF-8.
raise
Run Code Online (Sandbox Code Playgroud)
如果你抓住一个例外只是为了重新提升它,它的用途是什么?
[1] http://code.djangoproject.com/browser/django/trunk/django/template/loaders/app_directories.py
python ×7
sqlalchemy ×4
sqlite ×2
drm ×1
elementtree ×1
httplib ×1
javascript ×1
md5 ×1
oauth ×1
orm ×1
postgresql ×1
python-3.x ×1
salt ×1
sha ×1
sha512 ×1
spatialite ×1
twitter ×1
unique ×1
wsgi ×1
xml ×1