當前位置:首頁 » 編程語言 » 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是運維人員提高工作效率、規范業務配置與操作的利器。

熱點內容
腳本中new 發布:2025-02-13 21:00:11 瀏覽:741
什麼配置的筆記本電腦能玩神武 發布:2025-02-13 20:54:40 瀏覽:178
挑選雲伺服器需要注意什麼 發布:2025-02-13 20:53:31 瀏覽:98
加密滴膠卡 發布:2025-02-13 20:30:48 瀏覽:275
javalogin 發布:2025-02-13 20:25:48 瀏覽:427
智聯招聘無法上傳照片 發布:2025-02-13 20:16:03 瀏覽:529
python元素替換list 發布:2025-02-13 20:03:48 瀏覽:773
windows系統賬戶名和密碼是多少 發布:2025-02-13 20:03:02 瀏覽:531
我的世界帶有商店伺服器好嗎 發布:2025-02-13 20:02:50 瀏覽:616
東莞加密軟體 發布:2025-02-13 20:02:05 瀏覽:870