我想用python加密一些文件,哪种方法可以使用gpg/pgp使用任何标准/着名的python库?
我正在开发一个新的Web应用程序,我需要将数据库中的任何更改存储到审计表中.此类审计表的目的是在稍后的实际物理审计中,我们可以确定在某种情况下发生了什么,谁在编辑复杂计算时编辑了什么以及db的状态.因此,大多数审计表都将被编写而不会被读取.有时可能会生成报告.
我找了可用的解决方案
我没有尝试过这些中的任何一个,所以我想知道一些真实的经历以及我应该使用的经验.例如哪一个更快,占用空间更小,易于扩展和维护?
我有一个带有重音拉丁字符的unicode字符串,例如
n=unicode('Wikipédia, le projet d’encyclopédie','utf-8')
Run Code Online (Sandbox Code Playgroud)
我想把它转换成普通的ascii,即'Wikipedia,le projet dencyclopedie',所以所有的尖锐/重音,cedilla等应该被删除
最快的方法是什么,因为需要完成匹配长自动完成下拉列表
结论: 作为我的标准之一是速度,Lennart的"为unicode编码/解码注册你自己的错误处理程序"给出了最好的结果(参见Alex的答案),随着越来越多的字符拉丁语,速度差异进一步增加.
这是我正在使用的转换表,也修改了错误处理程序,因为它需要处理从error.start到error.end的所有未编码的char.
# -*- coding: utf-8 -*-
import codecs
"""
This is more of visual translation also avoiding multiple char translation
e.g. £ may be written as {pound}
"""
latin_dict = {
u"¡": u"!", u"¢": u"c", u"£": u"L", u"¤": u"o", u"¥": u"Y",
u"¦": u"|", u"§": u"S", u"¨": u"`", u"©": u"c", u"ª": u"a",
u"«": u"<<", u"¬": u"-", u"": u"-", u"®": u"R", u"¯": u"-",
u"°": u"o", u"±": u"+-", u"²": u"2", u"³": u"3", …Run Code Online (Sandbox Code Playgroud) 我有一个带__init__.py文件的消息文件夹(包)和messages_en.py里面的另一个模块.在__init__.py如果我导入messages_en它的工作原理,但__import__失败,"导入错误:没有模块名为messages_en"
import messages_en # it works
messages = __import__('messages_en') # it doesn't ?
Run Code Online (Sandbox Code Playgroud)
我曾经认为'import x'只是另一种说法 __import__('x')
假设我有一些标签(例如jquery标签),我想在每个标签中动态加载一些页面,我可以用两种方式做到这一点
Q1.我看到两种用户方法没有区别,有吗?
Q2.我认为iframe方式更好,因为iframe可以加载任何页面,但有时将ajax数据加载到div可能无法按预期工作.
有没有办法在python中增加int对象,int似乎没有实现,__iadd__所以+ = 1实际上返回一个新对象
>>> n=1
>>> id(n)
9788024
>>> n+=1
>>> id(n)
9788012
Run Code Online (Sandbox Code Playgroud)
我想要的是保持指向同一个对象.
目的:我有从int派生的类,我想为该类实现C类型'++ n'运算符
结论:好的,因为int是不可变的,没有办法,看起来我将不得不写这样的东西
class Int(object):
def __init__(self, value):
self._decr = False
self.value = value
def __neg__(self):
if self._decr:
self.value -= 1
self._decr = not self._decr
return self
def __str__(self):
return str(self.value)
def __cmp__(self, n):
return cmp(self.value, n)
def __nonzero__(self):
return self.value
n = Int(10)
while --n:
print n
Run Code Online (Sandbox Code Playgroud) 我使用内置模块插入一些实例,因此可以全局访问它们以进行调试.该__builtins__模块的问题在于它是主脚本中的模块,并且是模块中的dict,但由于我的脚本取决于案例可以是主脚本或模块,我必须这样做:
if isinstance(__builtins__, dict):
__builtins__['g_frame'] = 'xxx'
else:
setattr(__builtins__, 'g_frame', 'xxx')
Run Code Online (Sandbox Code Playgroud)
有没有一个解决方法,比这更短?更重要的是,为什么__builtins__这样做?
这是一个看到这个的脚本.创建一个模块a.py:
#module-a
import b
print 'a-builtin:',type(__builtins__)
Run Code Online (Sandbox Code Playgroud)
创建一个模块b.py:
#module-b
print 'b-builtin:',type(__builtins__)
Run Code Online (Sandbox Code Playgroud)
现在运行python a.py:
$ python a.py
b-builtin: <type 'dict'>
a-builtin: <type 'module'>
Run Code Online (Sandbox Code Playgroud) python十进制比较
>>> from decimal import Decimal
>>> Decimal('1.0') > 2.0
True
Run Code Online (Sandbox Code Playgroud)
我期望它正确地转换2.0,但是在通过PEP 327读取之后我理解有一些原因没有意外地将float转换为Decimal,但是在这种情况下不应该像在这种情况下那样引发TypeError
>>> Decimal('1.0') + 2.0
Traceback (most recent call last):
File "<string>", line 1, in <string>
TypeError: unsupported operand type(s) for +: 'Decimal' and 'float'
Run Code Online (Sandbox Code Playgroud)
所有其他运算符/ - %//等也是如此
所以我的问题是
系统详细信息:Ubuntu 8.04.1上的Python 2.5.2
考虑这个简单的表定义(使用SQLAlchemy-0.5.6)
from sqlalchemy import *
db = create_engine('sqlite:///tutorial.db')
db.echo = False # Try changing this to True and see what happens
metadata = MetaData(db)
user = Table('user', metadata,
Column('user_id', Integer, primary_key=True),
Column('name', String(40)),
Column('age', Integer),
Column('password', String),
)
from sqlalchemy.ext.declarative import declarative_base
class User(declarative_base()):
__tablename__ = 'user'
user_id = Column('user_id', Integer, primary_key=True)
name = Column('name', String(40))
Run Code Online (Sandbox Code Playgroud)
我想知道列名的最大长度是多少,例如来自用户表和用户(声明性类)
print user.name.length
print User.name.length
Run Code Online (Sandbox Code Playgroud)
我试过(User.name.type.length)但它抛出异常
Traceback (most recent call last):
File "del.py", line 25, in <module>
print User.name.type.length
File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.6-py2.5.egg/sqlalchemy/orm/attributes.py", line 135, in …Run Code Online (Sandbox Code Playgroud) 我正在创建一个图表应用程序,我隐藏并显示一些元素,例如
var c = paper.circle(10, 10, 10);
c.hide()
var c2 = paper.circle(10, 10, 10);
c2.show()
Run Code Online (Sandbox Code Playgroud)
现在我想对这样的形状采取行动,例如计算边界框等,但如果形状被隐藏,我无法找到如何获得?是否有像这样的shape.is_visible()或shape.attr('visible')
python ×7
ajax ×1
audit ×1
audit-trail ×1
built-in ×1
comparison ×1
database ×1
decimal ×1
django ×1
encryption ×1
gnupg ×1
iframe ×1
int ×1
javascript ×1
pgp ×1
raphael ×1
reversion ×1
sqlalchemy ×1
unicode ×1