我知道我可以使用platform.node()来获取我的计算机的网络名称:
>>> import platform
>>> platform.node()
'MyComputerName'
Run Code Online (Sandbox Code Playgroud)
但我真正想要的是类似于以下内容:
>>> get_full_network_domain_name()
'MyComputerName.it.na.mycompany.com'
Run Code Online (Sandbox Code Playgroud)
这样的事情存在吗?
我知道最简单的方法是使用正则表达式,但我想知道是否有其他方法可以进行此检查.
我为什么需要这个?我正在编写一个Python脚本,从SIM卡读取短信(SMS).在某些情况下,十六进制消息到达,我需要为它们做一些处理,所以我需要检查收到的消息是否是十六进制.
当我发送以下短信时:
Hello world!
Run Code Online (Sandbox Code Playgroud)
我的剧本收到了
00480065006C006C006F00200077006F0072006C00640021
Run Code Online (Sandbox Code Playgroud)
但在某些情况下,我会收到正常的短信(不是十六进制).所以我需要做一个if hex控件.
我使用的是Python 2.6.5.
更新:
这个问题的原因是,(某种程度上)我发送的消息是在接收hex到运营商发送的消息(信息消息和广告)时作为普通字符串接收的.所以我决定进行检查并确保我以正确的字符串格式显示消息.
一些额外的细节:我使用华为3G调制解调器和PyHumod从SIM卡读取数据.
可能是我的最佳解决方案:
处理这种字符串的最好方法是使用a2b_hex(aka unhexlify)和utf-16 big endian encoding(如@JonasWielicki所提到的):
from binascii import unhexlify # unhexlify is another name of a2b_hex
mystr = "00480065006C006C006F00200077006F0072006C00640021"
unhexlify(mystr).encode("utf-16-be")
>> u'Hello world!'
Run Code Online (Sandbox Code Playgroud) 在Python中,我有一个元素aList列表和一个索引列表myIndices.有什么方法可以一次性检索所有项目中aList的值作为索引myIndices吗?
例:
>>> aList = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> myIndices = [0, 3, 4]
>>> aList.A_FUNCTION(myIndices)
['a', 'd', 'e']
Run Code Online (Sandbox Code Playgroud) 我无法登录django管理页面.当我输入有效的用户名和密码时,它只会再次显示登录页面,没有错误消息
这个问题在django常见问题解答中,但我已经在那里找到答案,仍然无法通过初始登录屏幕.
我在ubuntu 12.04上使用django 1.4和apache2以及modwsgi.
我已经确认我在admin.py文件中注册了admin ,确保在添加后确认syncdb INSTALLED_APPS.当我输入了错误的密码我DO得到一个错误,所以我的管理员用户进行认证,只是没有在进行管理页面.
我已经尝试过设置SESSION_COOKIE_DOMAIN机器的IP和无.(确认cookie域显示为Chrome中机器的IP)
另外,检查用户是否通过shell进行身份验证:
>>> from django.contrib.auth import authenticate
>>> u = authenticate(username="user", password="pass")
>>> u.is_staff
True
>>> u.is_superuser
True
>>> u.is_active
True
Run Code Online (Sandbox Code Playgroud)
尝试使用IE8和chrome canary登录,两者都会导致返回登录屏幕.
还有别的什么我想念????
settings.py
...
MIDDLEWARE_CLASSES = (
'django.middleware.gzip.GZipMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
AUTHENTICATION_BACKENDS = ('django.contrib.auth.backends.ModelBackend',)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.admin',
'django.contrib.staticfiles',
'django.contrib.gis',
'myapp.main',
)
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SESSION_SAVE_EVERY_REQUEST = True
SESSION_COOKIE_AGE = 86400 # …Run Code Online (Sandbox Code Playgroud) 我使用的是dendrogram从scipy使用绘制层次聚类matplotlib如下:
mat = array([[1, 0.5, 0.9],
[0.5, 1, -0.5],
[0.9, -0.5, 1]])
plt.subplot(1,2,1)
plt.title("mat")
dist_mat = mat
linkage_matrix = linkage(dist_mat,
"single")
print "linkage2:"
print linkage(1-dist_mat, "single")
dendrogram(linkage_matrix,
color_threshold=1,
labels=["a", "b", "c"],
show_leaf_counts=True)
plt.subplot(1,2,2)
plt.title("1 - mat")
dist_mat = 1 - mat
linkage_matrix = linkage(dist_mat,
"single")
dendrogram(linkage_matrix,
color_threshold=1,
labels=["a", "b", "c"],
show_leaf_counts=True)
Run Code Online (Sandbox Code Playgroud)
我的问题是:第一,为什么mat和1-mat在这里给同一聚类?第二,如何使用树的每个分支来注释距离,dendrogram以便可以比较节点对之间的距离?
最后似乎show_leaf_counts忽略了标志,有没有办法打开它,以便显示每个类中的对象数量?谢谢.
我无法弄清楚如何强制application/jsonFlask中的视图的MIME类型.这是一个简单的视图,我为了演示目的而将它们拼凑在一起:
@app.route("/")
def testView():
ret = '{"data": "JSON string example"}'
return ret
Run Code Online (Sandbox Code Playgroud)
JSON字符串(保存在变量中ret)是从其他地方收集的(使用来自其他程序的stdout subprocess),所以我不能使用jsonifyFlask提供的.
我已经看过"返回Json"文档和这个 Stackoverflow问题,但到目前为止我还没有运气.我一直在寻找一段时间并将继续搜索,但我想我会问这里以防万一有人遇到过这个问题.
谢谢.
请参阅以下答案
解决方案:
@app.route("/")
def testView():
ret = '{"data": "JSON string example"}'
resp = Response(response=ret,
status=200,
mimetype="application/json")
return resp
Run Code Online (Sandbox Code Playgroud)
我发现这个网站很有用:用Python和Flask实现RESTful Web API
我正在阅读bottle.py源代码.它是一个Web框架,只有3000多行python代码.非常酷.
我发现了一些这样的代码:
class ServerAdapter(object):
quiet = False
def __init__(self, host='127.0.0.1', port=8080, **config):
self.options = config
self.host = host
self.port = int(port)
def run(self, handler): # pragma: no cover
pass
...
Run Code Online (Sandbox Code Playgroud)
什么# pragma: no cover意思?我找不到有关pragmapython文档中语法的任何介绍.
当尝试使用WTForms设置SelectField的默认值时,我将值传递给'default'参数,就像这样.
class TestForm(Form):
test_field = SelectField("Test: ", choices=[(1, "Abc"), (2, "Def")], default=2)
Run Code Online (Sandbox Code Playgroud)
我也试过以下.
class TestForm(Form):
test_field = SelectField("Test: ", choices=[(1, "Abc"), (2, "Def")], default=(2, "Def"))
Run Code Online (Sandbox Code Playgroud)
既不将默认的选定字段设置为"Def".这适用于其他类型的字段,如TextField.如何设置SelectField的默认值?'
安装BeautifulSoup之后,每当我在cmd中运行我的Python时,就会出现这个警告.
D:\Application\python\lib\site-packages\beautifulsoup4-4.4.1-py3.4.egg\bs4\__init__.py:166:
UserWarning: No parser was explicitly specified, so I'm using the best
available HTML parser for this system ("html.parser"). This usually isn't a
problem, but if you run this code on another system, or in a different
virtual environment, it may use a different parser and behave differently.
To get rid of this warning, change this:
BeautifulSoup([your markup])
to this:
BeautifulSoup([your markup], "html.parser")
Run Code Online (Sandbox Code Playgroud)
我没有理解为什么它出来以及如何解决它.
刚刚使用命令使用pip安装了tensorflow:
$ pip install tensorflow
在Tensorflow的"入门"中,他们有一个卷积神经网络的例子
$ python tensorflow/models/image/mnist/convolutional.py
使用pip安装时该目录位于何处?
python ×10
flask ×2
admin ×1
dendrogram ×1
django ×1
dns ×1
filter ×1
hex ×1
indexing ×1
json ×1
list ×1
login ×1
macos ×1
matplotlib ×1
mime-types ×1
mod-wsgi ×1
networking ×1
numpy ×1
pragma ×1
scipy ×1
subdomain ×1
tensorflow ×1
user-warning ×1
wtforms ×1