当前位置:首页 » 编程语言 » msgpackpython

msgpackpython

发布时间: 2022-05-22 14:30:22

1. python的pymol专家

摘要 PyMOL是由Warren Lyford DeLano编写的一个分子结构显示软件,由于生成的图片质量极高,受到了科研工作者的广泛赞;由PyMOL制作的图像屡次出现在Nature、Science等杂志的封面上,作者自己则称所有发表的蛋白质结构图像中,有1/4的是有PyMOL制作的。2010年,Schrödinger公司从DeLano Scientific LLC手中买下了PyMOL,继续发行PyMOL的商业版。与此同时,PyMOL还有一个由用户赞助的开源版本,相比商业版功能虽然少了一些,但是功能依旧强大。

2. pythoncharm有哪些奇技淫巧

1. 元类(metaclass)
PyPy的源码里有个pair和extendabletype
"""
Two magic tricks for classes:
class X:
__metaclass__ = extendabletype
...
# in some other file...
class __extend__(X):
... # and here you can add new methods and class attributes to X
Mostly useful together with the second trick, which lets you build
methods whose 'self' is a pair of objects instead of just one:
class __extend__(pairtype(X, Y)):
attribute = 42
def method((x, y), other, arguments):
...
pair(x, y).attribute
pair(x, y).method(other, arguments)
This finds methods and class attributes based on the actual
class of both objects that go into the pair(), with the usual
rules of method/attribute overriding in (pairs of) subclasses.
For more information, see test_pairtype.
"""

class extendabletype(type):
"""A type with a syntax trick: 'class __extend__(t)' actually extends
the definition of 't' instead of creating a new subclass."""
def __new__(cls, name, bases, dict):
if name == '__extend__':
for cls in bases:
for key, value in dict.items():
if key == '__mole__':
continue
# XXX do we need to provide something more for pickling?
setattr(cls, key, value)
return None
else:
return super(extendabletype, cls).__new__(cls, name, bases, dict)

def pair(a, b):
"""Return a pair object."""
tp = pairtype(a.__class__, b.__class__)
return tp((a, b)) # tp is a subclass of tuple

pairtypecache = {}

def pairtype(cls1, cls2):
"""type(pair(a,b)) is pairtype(a.__class__, b.__class__)."""
try:
pair = pairtypecache[cls1, cls2]
except KeyError:
name = 'pairtype(%s, %s)' % (cls1.__name__, cls2.__name__)
bases1 = [pairtype(base1, cls2) for base1 in cls1.__bases__]
bases2 = [pairtype(cls1, base2) for base2 in cls2.__bases__]
bases = tuple(bases1 + bases2) or (tuple,) # 'tuple': ultimate base
pair = pairtypecache[cls1, cls2] = extendabletype(name, bases, {})
return pair

先说extendabletype。嘛 其实注释已经说得听明白了,就是一个C#里面的partial class的Python实现。
然后是pair和pairtype。pairtype就是根据两个类创建一个新的类,这个类继承自使用这两个类的基类构造的pairtype(有点绕……)或者tuple。
有啥用呢?可以拿来实现multimethod。
class __extend__(pairtype(int, int)):
def foo((x, y)):
print 'int-int: %s-%s' % (x, y)

class __extend__(pairtype(bool, bool)):
def bar((x, y)):
print 'bool-bool: %s-%s' % (x, y)

pair(False, True).foo() # prints 'int-int: False, True'
pair(123, True).foo() # prints 'int-int: 123, True'
pair(False, True).bar() # prints 'bool-bool: False, True'
pair(123, True).bar() # Oops, no such method

好像这个例子里元类只是个打辅助的角色,好玩的都在那个pair里……
再换一个。
class GameObjectMeta(type):
def __new__(mcls, clsname, bases, _dict):
for k, v in _dict.items():
if isinstance(v, (list, set)):
_dict[k] = tuple(v) # mutable obj not allowed

cls = type.__new__(mcls, clsname, bases, _dict)
all_gameobjects.add(cls)
for b in bases:
game_objects_hierarchy.add((b, cls))

return cls

@staticmethod
def _mp_gameobject_hierarchy():
with open('/dev/shm/gomap.dot', 'w') as f:
f.write('digraph {\nrankdir=LR;\n')
f.write('\n'.join([
'"%s" -> "%s";' % (a.__name__, b.__name__)
for a, b in game_objects_hierarchy
]))
f.write('}')

def __setattr__(cls, field, v):
type.__setattr__(cls, field, v)
if field in ('ui_meta', ):
return

log.warning('SetAttr: %s.%s = %s' % (cls.__name__, field, repr(v)))

这个是从我写的三国杀游戏中提取的一段代码(点我签名上的链接)。大意就是把class上所有可变的容器都换成不可变的,然后记录下继承关系。
曾经被这个问题坑过,class上的值是全局共享的,逻辑代码一不小心修改了class上的值,单机测试的时候是测不出来的,然后放到线上……就悲剧了……当时绞尽脑汁没有想到是这个问题硬生生的回滚了……发现了问题之后就加上了这个东西,不允许修改class上的东西。
记录下继承关系是为了画类图。
还有就是常用的做数据注入
metadata = {}

def gen_metafunc(_for):
def metafunc(clsname, bases, _dict):
meta_for = getattr(_for, clsname)
meta_for.ui_meta = UIMetaDescriptor()
if meta_for in metadata:
raise Exception('%s ui_meta redefinition!' % meta_for)

metadata[meta_for] = _dict

return metafunc

from gamepack.thb import characters

__metaclass__ = gen_metafunc(characters.sakuya)

class Sakuya:
# 于是这个就不是类了, 而是作为数据存到了metadata这个dict里
char_name = u'十六夜咲夜'
port_image = 'thb-portrait-sakuya'
figure_image = 'thb-figure-sakuya'
miss_sound_effect = 'thb-cv-sakuya_miss'
description = (
u'|DB完全潇洒的PAD长 十六夜咲夜 体力:4|r\n\n'
u'|G月时计|r:|B锁定技|r,准备阶段开始时,你执行一个额外的出牌阶段。\n\n'
u'|G飞刀|r:你可以将一张装备牌当【弹幕】使用或打出。按此法使用的【弹幕】无距离限制。\n\n'
u'|DB(画师:小D@星の妄想乡,CV:VV)|r'
)

Ruby党不要喷,我知道你们可以做的更优雅……

2. Python沙盒逃逸

刷新三观的Python代码
3. PEP302 New Import Hook
最近在把刚才提到的纯Python游戏向Unity引擎上移植。
玩过Unity的就会知道,Unity的游戏的资源都是打包在一起的,没有单独的文件,Python解释器就不高兴了……于是写了import hook,用Unity提供的API来读py文件。
# -*- coding: utf-8 -*-

# -- stdlib --
import imp
import sys

# -- third party --
# -- own --
from clr import UnityEngine, WarpGateController

# -- code --

class UnityResourceImporter(object):
known_builtin = (
'sys',
'imp',
'cStringIO',
'gevent_core',
'gevent_ares',
'gevent_util',
'gevent_semaphore',
'msgpack_packer',
'msgpack_unpacker',
'UnityEngine',
)

def __init__(self, bases, unity_loader):
self.bases = bases
self.last_fullname = ''
self.last_text = ''
self.last_ispkg = False
self.unity_load = unity_loader

def find_mole(self, fullname, path=None):
if fullname in sys.moles:
return self

head = fullname.split('.')[0]
if head in self.known_builtin:
return None

rst = self.do_load_mole(fullname)
if rst:
self.last_text, self.last_ispkg = rst
self.last_fullname = fullname
return self
else:
return None

def load_mole(self, fullname):
if fullname in sys.moles:
return sys.moles[fullname]

if fullname != self.last_fullname:
self.find_mole(fullname)

try:
code = self.last_text
ispkg = self.last_ispkg

mod = sys.moles.setdefault(fullname, imp.new_mole(fullname))
mod.__file__ = "<UnityResource: %s>" % fullname
mod.__loader__ = self

if ispkg:
mod.__path__ = []
mod.__package__ = fullname
else:
mod.__package__ = fullname.rpartition('.')[0]

co = compile(code, mod.__file__, 'exec')
exec(co, mod.__dict__)

return mod
except Exception as e:
UnityEngine.Debug.LogError('Error importing %s %s' % (fullname, e))
raise ImportError(e)

def do_load_mole(self, fullname):
fn = fullname.replace('.', '/')

asset = self.try_load(fn + '.py')
if asset is not None:
return asset, False

asset = self.try_load(fn + '/__init__.py')
if asset is not None:
return asset, True

def try_load(self, filename):
for b in self.bases:
asset = self.unity_load(b + filename)
if asset is not None:
return asset

return None

sys.meta_path.append(UnityResourceImporter([
'Python/THBattle/',
'Python/Site/',
'Python/Stdlib/',
], WarpGateController.GetTextAsset))

需要的extension mole都静态编译到解释器里了,所以没考虑。
4. 可以批量执行操作的list
class BatchList(list):
def __getattribute__(self, name):
try:
list_attr = list.__getattribute__(self, name)
return list_attr
except AttributeError:
pass

return list.__getattribute__(self, '__class__')(
getattr(i, name) for i in self
)

def __call__(self, *a, **k):
return list.__getattribute__(self, '__class__')(
f(*a, **k) for f in self
)

class Foo(object):
def __init__(self, v):
self.value = v

def foo(self):
print 'Foo!', self.value

foo = Foo(1)
foo.foo() # Foo! 1

foos = BatchList(Foo(i) for i in xrange(10))
foos.value # BatchList([0, 1, 2, 3, ..., 9])
foos.foo() # 你能猜到的

这个其实不算很黑魔法了,只是感觉很好用也有些危险,所以放上来。
暂时就想到这么多了,以后发现了再补。

3. msgpack-python和 msgpack-pure有什么不同, saltstack 不装msgpack-pure可以吗

配置/etc/salt/minion
同yum安装配置,master亦同

启动服务,设置开机自起!

4. 请教python与java之间rpc通信,rabbitmq相关

JSON 简单粗暴
msgPack格式, 支持广泛, 类似 JSON , 但是效率更高
Thrift 全家桶, 爽爽爽
protobuf + gRpc

5. 如何执行python第三方包windows exe格式

python第三方包的windows安装文件exe格式, 这上面有很多python第三方包的二进制安装文件,包括32位和64位的。下载安装就ok了!
这下面有很多python第三方包的二进制安装文件,包括32位和64位的。下载安装就ok了!

包括了mysqldb,ldap等。

Index by date:

fiona

scikit-image

netcdf4

mercurial

scikits.audiolab

numba

llvmpy

python-igraph

rpy2

numpy

opencv

zope.interface

sfepy

quantlib

gdal

imread

django

psychopy

cx_freeze

msgpack

regex

cellcognition

vigra

scikit-learn

pytables

h5py

blender-mathutils

htseq

bioformats

simplejson

pyzmq

mako

simpleitk

qimage2ndarray

ujson

vlfd

libsvm

liblinear

cgkit

scipy

distribute

noise

theano

pyalembic

openimageio

pyaudio

pymca

pyamg

pgmagick

lxml

steps

sqlalchemy

cffi

biopython

python-ldap

pycurl

nipy

nibabel

pygments

mahotas

py-postgresql

pyamf

planar

holopy

pyvisa

jcc

polymode

polygon

cython

pyropes

llist

shapely

vtk

pymongo

libpython

meshpy

pandas

umysql

epydoc

coverage

cheetah

pyrxp

pybluez

pythonmagick

bsdiff4

pymssql

pymol

boost.python

orange

requests

pywcs

python-sundials

pymix

pyminuit

pylzma

pyicu

assimulo

basemap

pygraphviz

pyproj

mpi4py

spyder

pytz

pyfits

mysql-python

pygame

pycparser

twisted

pil

qutip

openexr

nipype

python-snappy

visvis

docutils

pyhdf

pyqwt

kivy

scikits.umfpack

psycopg

ets

guiqwt

veusz

pyqt

pyside

dpmix

py-fcm

scikits.hydroclimpy

smc.freeimage

scipy-stack

ipython

nose

mxbase

numexpr

pyyaml

ode

virtualenv

aspell_python

tornado

pywavelets

bottleneck

networkx

statsmodels

pylibdeconv

pyhook

lmfit

slycot

ndimage

scikits.scattpy

cvxopt

pymc

pysparse

scikits.odes

matplotlib

vpython

pycuda

pyopencl

pymvpa

pythonnet

cld

mod_wsgi

nltk

python-levenshtein

rtree

pywin32

scientificpython

sympy

thrift

pyopengl-accelerate

mdp

pyopengl

gmpy

reportlab

natgrid

scikits.vectorplot

pyreadline

milk

blosc

pycogent

pip

gevent

scons

carray

python-dateutil

jinja2

markupsafe

jsonlib

pysfml

fonttools

silvercity

console

python-cjson

pycluster

cdecimal

pytst

autopy

sendkeys

ceodbc

fipy

psutil

pyephem

pycifrw

blist

line_profiler

pydbg

bitarray

pyglet

python-lzo

faulthandler

delny

pyexiv2

ilastik

twainmole

scitools

pyspharm

casuarius

pyodbc

greenlet

nitime

pylibtiff

mmtk

pycairo

pysqlite

curses

videocapture

bazaar

nlopt

trfit

libsbml

oursql

sphinx

cellprofiler

py2exe

re2

liblas

cgal-python

pymedia

ffnet

pyfftw

libxml-python

pyfltk

pymex

pymatlab

zodb3

mmlib

pygtk

pyserial

babel

scikits.ann

scikits.delaunay

numeric

pulp

nmoldyn

pymutt

iocbio

jpype

wxpython

pybox2d

dipy

mmseg

pynifti

scikits.samplerate

scikits.timeseries

vitables

quickfix

6. ubuntu怎么查看ryu控制器ip

针对刚刚装完Ubuntu12.04 LTS系统的ryu安装。

官方的安装方法:
1.sudo pip install ryu
2.git clone https://github.com/osrg/ryu.git
cd ryu; python ./setup.pyinstall
经过若干次的尝试和重装系统,下面是我的安装过程:
sudo apt-get update

1.首先
sudo apt-get install git python-pip libxml2-dev libxslt1-dev python2.7-dev

2.用sudo pip install安装msgpack-python、oslo.config、netaddr、lxml、ecdsa。
sudo pip install msgpack-python
sudo pip install oslo.config
sudo pip install netaddr
sudo pip install lxml
sudo pip install ecdsa

3.git clone https://github.com/osrg/ryu.git

4.安装完成后,进入ryu文件夹,执行以下操作:
cd ryu
python setup.py install

5.提示安装完成,进行测试输入ryu-manager

6.gui界面
安装依赖:
#pip install Flask
#pip install gevent-websocket
获取图形界面源码:
在http://github.com/yamada-h/ryu/tree/gui-patch-v3-rebase下载gui-patch-v3- rebase软件压缩包,解压,把里面的ryu/gui目录复制到安装Ryu的源代码目录/ryu/ryu。打开ryu/ryu/topology修改 switches.py ,注释掉45行-53行即可。
启动Ryu,进入源码目录ryu/app,执行
# ryu-manager --verbose --observe-links ryu.topology.switchesryu.app.rest_topology ryu.app.ofctl_rest ryu.app.simple_switch
启动GUI界面,进入ryu/ryu/gui目录
#python controller.py
打开浏览器界面 http://127.0.0.1:8000,即可查看.

7. ubuntu 怎么导入python工程

在Ubuntu虚拟机中部署了。

项目中用到了的python模板有 redis zookeeper msgpack setuptools tornado ujson
软件安装包如下:
eclipse-jee-luna-R-linux-gtk-x86_64.tar.gz
jdk-7u71-linux-x64.gz
zookeeper-3.4.6.tar.gz
zkpython-master.zip
msgpack-python-0.3.0.tar.gz
Python-2.7.8.tar.xz
redis-2.6.14.tar.gz
redis-py-2.6.2.zip
setuptools-3.4.3.tar.gz
tornado-4.0.tar.gz
ujson-1.30.zip

1、安装jdk ,直接解压到/usr/local,然后配置环境变量即可
我把环境变量放到/etc/profile中了,当然你也可以放到.bashrc中
#add java config
export JAVA_HOME=/usr/local/jdk1.7.0_71
export JRE_HOME=/usr/local/jdk1.7.0_71/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

最后保存profile文件,并命令行执行source /etc/profile 使其生效

2、eclipse 安装解压即可
tar -zxvf eclipse-jee-luna-R-linux-gtk-x86_64.tar.gz

直接eclipse启动时如果发现界面没menu,应该是由于Ubuntu和eclipse的一个冲突导致的
#slove the menu not find
export UBUNTU_MENUPROXY=0
./eclipse

3、python 安装,Ubuntu中自带了python2.7

4、eclipse 中安装pydev 插件

5、python tornado 安装
解压tornado包 tar -xzvf tornado-4.0.tar.gz
python setup.py build
python setup.py install
其它模块基本上都是如此安装

在安装zookeeper时需要注意下,应先安装python编译环境包,在安装zookeeper ,最后安装zython插件模块
sudo apt-get install build-essential python-dev
tar -xzvf zookeeper-3.4.6.tar.gz
cd zookeeper-3.4.6/
cd src/c
.configure
make & sudo make install
unzip zkpython-master.zip
python setup.py install
这样python就安装了zookeeper模块了
最后使用eclipse启动tornado时,zookeeper报错
ImportError: libzookeeper_mt.so.2
查找发现这个文件在系统/usr/local/lib中是存在的,所以应该是系统没有找到这个动态链接库,将

export LD_LIBRARY_PATH=/usr/local/lib/

写入.bashrc文件中 source 并重启启动eclipse tornado done

8. python 数据结构

是个字典request_dict["request"]["p"]表示request_dict中的元素request也是个字典,再获取它下面的元素"p"

9. windows 怎么安装mmseg

今天弄了一上午的python-ldap,发现要么安装vc,要么用其他比较麻烦的方法,都比较麻烦。幸好找到这个地址: http://www.lfd.uci.e/~gohlke/pythonlibs/ 这上面有很多python第三方包的二进制安装文件,包括32位和64位的。下载安装就ok了! 包括了mysqldb,ldap等。 Index by date: fiona scikit-image netcdf4 mercurial scikits.audiolab numba llvmpy python-igraph rpy2 numpy opencv zope.interface sfepy quantlib gdal imread django psychopy cx_freeze msgpack regex cellcognition vigra scikit-learn pytables h5py blender-mathutils htseq bioformats simplejson pyzmq mako simpleitk qimage2ndarray ujson vlfd libsvm liblinear cgkit scipy distribute noise theano pyalembic openimageio pyaudio pymca pyamg pgmagick lxml steps sqlalchemy cffi biopython python-ldap pycurl nipy nibab... 今天弄了一上午的python-ldap,发现要么安装vc,要么用其他比较麻烦的方法,都比较麻烦。幸好找到这个地址:
http://www.lfd.uci.e/~gohlke/pythonlibs/
这上面有很多python第三方包的二进制安装文件,包括32位和64位的。下载安装就ok了!
包括了mysqldb,ldap等。
Index by date:
fiona
scikit-image
netcdf4
mercurial
scikits.audiolab
numba
llvmpy
python-igraph
rpy2
numpy
opencv
zope.interface
sfepy
quantlib
gdal
imread
django
psychopy
cx_freeze
msgpack
regex
cellcognition
vigra
scikit-learn
pytables
h5py
blender-mathutils
htseq
bioformats
simplejson
pyzmq
mako
simpleitk
qimage2ndarray
ujson
vlfd
libsvm
liblinear
cgkit
scipy
distribute
noise
theano
pyalembic
openimageio
pyaudio
pymca
pyamg
pgmagick
lxml
steps
sqlalchemy
cffi
biopython
python-ldap
pycurl
nipy
nibabel
pygments
mahotas
py-postgresql
pyamf
planar
holopy
pyvisa
jcc
polymode
polygon
cython
pyropes
llist
shapely
vtk
pymongo
libpython
meshpy
pandas
umysql
epydoc
coverage
cheetah
pyrxp
pybluez
pythonmagick
bsdiff4
pymssql
pymol
boost.python
orange
requests
pywcs
python-sundials
pymix
pyminuit
pylzma
pyicu
assimulo
basemap
pygraphviz
pyproj
mpi4py
spyder
pytz
pyfits
mysql-python
pygame
pycparser
twisted
pil
qutip
openexr
nipype
python-snappy
visvis
docutils
pyhdf
pyqwt
kivy
scikits.umfpack
psycopg
ets
guiqwt
veusz
pyqt
pyside
dpmix
py-fcm
scikits.hydroclimpy
smc.freeimage
scipy-stack
ipython
nose
mxbase
numexpr
pyyaml
ode
virtualenv
aspell_python
tornado
pywavelets
bottleneck
networkx
statsmodels
pylibdeconv
pyhook
lmfit
slycot
ndimage
scikits.scattpy
cvxopt
pymc
pysparse
scikits.odes
matplotlib
vpython
pycuda
pyopencl
pymvpa
pythonnet
cld
mod_wsgi
nltk
python-levenshtein
rtree
pywin32
scientificpython
sympy
thrift
pyopengl-accelerate
mdp
pyopengl
gmpy
reportlab
natgrid
scikits.vectorplot
pyreadline
milk
blosc
pycogent
pip
gevent
scons
carray
python-dateutil
jinja2
markupsafe
jsonlib
pysfml
fonttools
silvercity
console
python-cjson
pycluster
cdecimal
pytst
autopy
sendkeys
ceodbc
fipy
psutil
pyephem
pycifrw
blist
line_profiler
pydbg
bitarray
pyglet
python-lzo
faulthandler
delny
pyexiv2
ilastik
twainmole
scitools
pyspharm
casuarius
pyodbc
greenlet
nitime
pylibtiff
mmtk
pycairo
pysqlite
curses
videocapture
bazaar
nlopt
trfit
libsbml
oursql
sphinx
cellprofiler
py2exe
re2
liblas
cgal-python
pymedia
ffnet
pyfftw
libxml-python
pyfltk
pymex
pymatlab
zodb3
mmlib
pygtk
pyserial
babel
scikits.ann
scikits.delaunay
numeric
pulp
nmoldyn
pymutt
iocbio
jpype
wxpython
pybox2d
dipy
mmseg
pynifti
scikits.samplerate
scikits.timeseries
vitables
quickfix
numscons
visionegg

10. saltstack获取服务器CPU使用率

步骤如下:
1、查看MASTER的BASE路径,在对应的路径建立_moles文件夹,存放.py的模块。
2、在/srv/salt/_moles目录下编写python代码。
3、同步模块,执行验证。SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCrypto、Pyjinjia2、python-msgpack和PyYAML等)构建。
通过部署SaltStack,我们可以在成千万台服务器上做到批量执行命令,根据不同业务进行配置集中化管理、分发文件、采集服务器数据、操作系统基础及软件包管理等,SaltStack是运维人员提高工作效率、规范业务配置与操作的利器。

热点内容
php房产网 发布:2025-02-13 18:18:06 浏览:85
源码资源吧 发布:2025-02-13 18:14:39 浏览:79
java培训价钱 发布:2025-02-13 17:59:33 浏览:974
c语言中变量类型 发布:2025-02-13 17:52:20 浏览:258
ftp导出报错 发布:2025-02-13 17:41:20 浏览:997
脚本下载教程 发布:2025-02-13 17:39:06 浏览:235
解压密码re 发布:2025-02-13 17:39:02 浏览:558
linuxdump内存 发布:2025-02-13 17:37:30 浏览:57
游戏客户端源码 发布:2025-02-13 17:37:19 浏览:594
win7打开文件夹声音 发布:2025-02-13 17:35:03 浏览:606