小编Nil*_*esh的帖子

如何跳过stdin的第一行读物?

 while 1:
     try:
         #read from stdin
         line = sys.stdin.readline()
     except KeyboardInterrupt:
         break
     if not line:
         break
     fields = line.split('#')
     ...
Run Code Online (Sandbox Code Playgroud)

我如何跳过第一行阅读stdin

python stdin

6
推荐指数
2
解决办法
5725
查看次数

获取django中所有相关的模型类

我正在尝试获取具有外键关系的所有相关模型类实例的列表,以便我可以执行类似的操作model._meta.fields..

这是我到目前为止所拥有的:

for related_object in A._meta.get_all_related_objects():
        related_name = related_object.field.rel.related_name
Run Code Online (Sandbox Code Playgroud)

但我不知道如何获取相关模型类..

感谢您的帮助!

python django django-models

6
推荐指数
1
解决办法
6381
查看次数

如何使用美丽的汤从URL中提取内容时设置会话cookie?

考虑一下代码:

from bs4 import BeautifulSoup
from urllib.request import urlopen
content = urlopen('https://example.net/users/101')
soup = BeautifulSoup(content)
divTag = soup.find_all("div", {"class":"classname"})
print(divTag)
for tag in divTag:
   ulTags = tag.find_all("ul", {"class":"classname"})
   for tag in ulTags:
       aTags = tag.find_all("li")
       for tag in aTags:
           name = tag.find('a')['href']
           print(name)
Run Code Online (Sandbox Code Playgroud)

如果我使用,

content = open("try.html","r")
Run Code Online (Sandbox Code Playgroud)

我得到了所需的输出.

在这里,只有在输入用户名和密码后才能访问example.net.虽然解析是正确完成的,但上面的代码不会打印任何内容.如何将会话cookie值添加到此代码中?

python cookies session beautifulsoup web-scraping

6
推荐指数
1
解决办法
6887
查看次数

使用现有字段作为 _id 使用 elasticsearch dsl python DocType

我有课,我尝试在其中设置student_id_id字段. 我指的是来自 elasticsearch-dsl 文档的持久示例

from elasticsearch_dsl import DocType, String

ELASTICSEARCH_INDEX = 'student_index'

class StudentDoc(DocType):
    '''
    Define mapping for Student type
    '''

    student_id = String(required=True)
    name = String(null_value='')

    class Meta:
        # id = student_id
        index = ELASTICSEARCH_INDEX
Run Code Online (Sandbox Code Playgroud)

我通过设置绑定idMeta但它不起作用。

我得到解决方案作为覆盖save方法,我实现了这个

def save(self, **kwargs):
    '''
    Override to set metadata id
    '''
    self.meta.id = self.student_id
    return super(StudentDoc, self).save(**kwargs)
Run Code Online (Sandbox Code Playgroud)

我正在创建这个对象

>>> a = StudentDoc(student_id=1, tags=['test'])
>>> a.save()
Run Code Online (Sandbox Code Playgroud)

有没有直接的方法可以从Meta没有覆盖 …

python elasticsearch elasticsearch-dsl

6
推荐指数
1
解决办法
3517
查看次数

Java程序(Tomcat)继续吃内存(RES在顶部)

我在4-cpu和32GB内存64位机器上运行Tomcat(操作系统是CentOS 6.3).我启动Tomcat的Java选项是-server -Xms1024m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m

开始时,RES仅使用顶部810MB,并且不断增加.在此期间,我运行jmap -J-d64 -histo pID检查Java内存堆,我认为gc工作正常,因为堆峰值为510MB,gc后约为200MB.但是当顶部的RES达到1.1g时,CPU使用率将超过100%并且Tomcat将挂起.

使用jstack pid看转储当CPU使用率是100%,一个名为"虚拟线"线吃掉几乎100%的CPU.我用Google搜索,它是JVM gc线程.所以我的问题是:当gc工作正常时,为什么res会继续增长?我怎么能解决这个问题?谢谢.

java memory-leaks cpu-usage

5
推荐指数
1
解决办法
2431
查看次数

如何在登录vmware api之前设置Locale非英语vCenter

我正在使用VMware API执行vCenter操作.使用suds进行SDK调用.我的vCenter配置为非英语(日语)支持.

import suds

client = suds.client.Client("http://localhost/sdk/vimService.wsdl", location="https://localhost/sdk")

mo = suds.sudsobject.Property("ServiceInstance")
mo._type = "ServiceInstance"
service_content = client.service.RetrieveServiceContent(mo)

try:
    client.service.Login(service_content.sessionManager, username='test', password='test', locale='en_US')
    var = client.factory.create('ns0:WaitOptions')
    kwargs = {'maxWaitSeconds': "2", 'maxObjectUpdates': "3"} 
    [setattr(var, key, value) for key, value in kwargs.items()] 
    client.service.WaitForUpdatesEx(service_content.propertyCollector, version=1, options=var)
except suds.WebFault as e:
    print e.args
Run Code Online (Sandbox Code Playgroud)

如果我不设置locale,那么在vCenter中是否有任何错误,它将以非英语文本返回.我设置locale和异常将返回英语.

我们设置了a locale和它的工作正常,session但是如果会话创建中的任何错误或会话超时,那么它会以非英语形式给出错误.

请检查此代码(没有创建的调用方法session)

...
...
mo._type = "ServiceInstance"
service_content = client.service.RetrieveServiceContent(mo)

try:
    var = client.factory.create('ns0:WaitOptions')
    kwargs = {'maxWaitSeconds': "2", 'maxObjectUpdates': …
Run Code Online (Sandbox Code Playgroud)

python vmware suds vmware-sdk

5
推荐指数
0
解决办法
424
查看次数

如何在sqlalchemy中执行LIKE查询?

我用来sqlalchemy从表中获取数据。现在,从名为 的表中获取所有记录audit_trail_table正在按预期工作。

select_stmt = select([self.audit_trail_table]).where(self.audit_trail_table.c.id == int(id))
row = conn.execute(select_stmt).fetchone()
Run Code Online (Sandbox Code Playgroud)

现在我希望对多个列执行LIKE查询,如下所示:

filter_query = #(some value which will work as a filter_query while fetching )records
filter_stmt = select([self.audit_trail_table]).where(self.audit_trail_table.c.first_name like '%' + filter_query + '%' or self.audit_trail_table.c.last_name like '%')
Run Code Online (Sandbox Code Playgroud)

但它在 LIKE 时给出错误。我怎样才能实现这个目标?

python mysql sql select sqlalchemy

5
推荐指数
1
解决办法
8511
查看次数

在django rest框架中按通用关系设置contenttype

class Foo(models.Model):
    bar = models.CharField(max_length=300)
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = GenericForeignKey('content_type', 'object_id')


class FooSerializer(serializers.ModelSerializer):
    class Meta:
       model = Foo

class FooViewSet(viewsets.ModelViewSet):
    model = Foo
    serializer_class = FooSerializer
Run Code Online (Sandbox Code Playgroud)

我现在可以将数据发布到如下所示的视图集:

{
    bar: 'content',
    content_type: 1
    object_id: 5
}
Run Code Online (Sandbox Code Playgroud)

唯一让我烦恼的是,前端必须要注意contenttype id

相反,我希望能够将content_types名称发布为'User'作为content_type,并让后端确定id.

python django generic-relationship django-rest-framework

5
推荐指数
2
解决办法
1032
查看次数

Heroku 上的 Python 入门 - 找不到 pg_config 可执行文件

我一直在关注文档,直到我安装了 requirements.txt 文件。尝试安装第 6 行“psycopg2==2.5.3”时总是失败。这是消息——

Downloading/unpacking psycopg2==2.5.3 (from -r requirements.txt (line 6))
Downloading psycopg2-2.5.3.tar.gz (690kB): 690kB downloaded
Running setup.py (path:/Users/pimpc/Sites/python/herokudemo/python-getting-started/venv/build/psycopg2/setup.py) egg_info for package psycopg2

Error: pg_config executable not found.

Please add the directory containing pg_config to the PATH
or specify the full executable path with the option:

    python setup.py build_ext --pg-config /path/to/pg_config build ...

or with the pg_config option in 'setup.cfg'.
Complete output from command python setup.py egg_info:
running egg_info

creating pip-egg-info/psycopg2.egg-info

writing pip-egg-info/psycopg2.egg-info/PKG-INFO

writing top-level names to
pip-egg-info/psycopg2.egg-info/top_level.txt

writing …
Run Code Online (Sandbox Code Playgroud)

python postgresql heroku

5
推荐指数
1
解决办法
1609
查看次数

在模块中导入之前模拟库

我有 python 文件

\n\n
$ tree .\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 __init__.py\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 my_module.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 setup.py\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 test_my_module.py\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 tox.ini\n\n1 directory, 5 files\n
Run Code Online (Sandbox Code Playgroud)\n\n

my_module.py

\n\n
$ cat app/my_module.py\nfrom pymongo import MongoClient\n\nclient = MongoClient(\'mongodb://localhost:27017/\')\n\npost = client.test_database.posts.find_one()\n\ndef ret_value():\n    return db.posts\n
Run Code Online (Sandbox Code Playgroud)\n\n

毒物文件

\n\n
$ cat tox.ini\n[tox]\nenvlist = py35\n\n[testenv]\ndeps=\n    coverage>=4.1\n    flake8\n    pylint\n    pytest-cov==2.2.1\n    pytest==3.0.7\n    pytest-mock\n    pytest-xdist\n        pymongo\n        mock\ncommands=py.test -n 5 -l\nsetenv =\n    XYZ = 123\n
Run Code Online (Sandbox Code Playgroud)\n\n

测试我的模块.py

\n\n
$ cat test_my_module.py\nimport os\n\nimport mock\n\nwith mock.patch(\'app.my_module.MongoClient\'):\n    from app import my_module\n\ndef test_my_module_method():\n    assert os.getenv(\'XYZ\') == \'123\'\n
Run Code Online (Sandbox Code Playgroud)\n\n

在 中my_module.py …

python unit-testing mocking python-mock

5
推荐指数
0
解决办法
511
查看次数