小编jac*_*ack的帖子

运行具有指定最大运行时间的外部程序

我想在多线程python程序的每个线程中执行外部程序.

假设最大运行时间设置为1秒.如果启动过程在1秒内完成,则主程序捕获其输出以进行进一步处理.如果它没有在1秒内完成,主程序只是终止它并启动另一个新进程.

怎么实现这个?

python multithreading subprocess

4
推荐指数
1
解决办法
1225
查看次数

Python二进制数据读取

urllib2请求接收二进制响应,如下所示:

00 00 00 01 00 04 41 4D 54 44 00 00 00 00 02 41
97 33 33 41 99 5C 29 41 90 3D 71 41 91 D7 0A 47
0F C6 14 00 00 01 16 6A E0 68 80 41 93 B4 05 41
97 1E B8 41 90 7A E1 41 96 8F 57 46 E6 2E 80 00
00 01 16 7A 53 7C 80 FF FF
Run Code Online (Sandbox Code Playgroud)

其结构是:

DATA, TYPE, DESCRIPTION

00 00 …
Run Code Online (Sandbox Code Playgroud)

python binary-data

3
推荐指数
3
解决办法
1万
查看次数

发生错误时自动重启程序

该计划是这样的:

HEADER CODE
urllib2.initialization()
try:
    while True:
        urllib2.read(somebytes)
        urllib2.read(somebytes)
        urllib2.read(somebytes)
        ...
except Exception, e:
    print e
FOOTER CODE
Run Code Online (Sandbox Code Playgroud)

我的问题是何时发生错误(超时,由对等方重置连接等),如何从urllib2.initialization()而不是现有的主程序重新启动并再次从HEADER CODE重新启动?

python restart

3
推荐指数
1
解决办法
5814
查看次数

Python弃用了函数

我有一个用Python 2.5编写的Django应用程序,我计划将其升级为与Python 2.6兼容.它包含数百个.py文件.有没有一种简单的方法可以找到这些文件中所有已弃用的函数?

python python-2.6

3
推荐指数
2
解决办法
3799
查看次数

渲染以响应Django中的重定向URL

在表单提交方案中,表单将发布到"/ submit".我想在成功时将用户重定向到"/ sucess",并将一些消息传递给新网址的模板.如何在Django中执行此操作?render_to_response不进行重定向,HttpResponseRedirect不进行模板渲染.

django redirect httpresponse

3
推荐指数
1
解决办法
9902
查看次数

什么是Python的好词库和分类库?

你能推荐一个好的Python库来获取给定单词的词库和分类吗?

代名词:

>>> print get_synonym('image')
['picture', 'photo']
Run Code Online (Sandbox Code Playgroud)

分类:

>>> print get_taxonomy('baseball')
['sports']
Run Code Online (Sandbox Code Playgroud)

python taxonomy thesaurus

3
推荐指数
1
解决办法
7340
查看次数

模型中的 Django 匿名用户

我有一个定义如下的模型:

class Example(models.Model):
    user = models.ForeignKey(User, null=True)
    other = models.CharField(max_length=100)
Run Code Online (Sandbox Code Playgroud)

问题是Django拒绝将django.contrib.auth.models.AnonymousUser直接分配给Example.user作为空字段,所以每次我都必须检查request.user.is_authenticated()是否并手动分配Example.user = None。

AnonymousUser 是否有在模型字段中使用的默认值?

django model anonymous

3
推荐指数
1
解决办法
4427
查看次数

在Python中执行和监视外部程序的多个实例

主程序是这样的:

PREPARE PARAMETERS FOR CHILD PROCESSES
subprocess.Popen('python child.py param=example1'.split(' '))
subprocess.Popen('python child.py param=example2'.split(' '))
...
Run Code Online (Sandbox Code Playgroud)

如何使主程序监视它启动的子进程的每个实例,如果它没有运行,则使用相应的参数重新启动它.

保持多个子进程实例运行而不是在主进程中实现多线程架构的目的是尽可能多地利用CPU和数据库吞吐量.

python external-process

2
推荐指数
1
解决办法
1758
查看次数

django.utils.encoding.DjangoUnicodeDecodeError

当尝试通过通用关系向 Django 模型添加条目时,出现以下错误。

django.utils.encoding.DjangoUnicodeDecodeError: 'utf8' codec can't decode byte 0xb8 in position 24: unexpected code byte. You passed in 'ASL/60Styles_Timeless-3_\xb8 CaLe.asl' (<type 'str'>)
Run Code Online (Sandbox Code Playgroud)

模型是这样的:

class MD5(models.Model):
    value = models.CharField(max_length=32, db_index=True)
    filename = models.CharField(max_length=100)
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = generic.GenericForeignKey()
Run Code Online (Sandbox Code Playgroud)

表的字符集是 utf8,排序规则是 utf8_general_ci。

这是否意味着文件名不是有效的 utf8 字符串?如何修复此错误或者我们可以将无效字符串转换为有效格式吗?

python django utf-8

2
推荐指数
1
解决办法
4071
查看次数

如何将此命令传递给subprocess.call?

命令:

root@host:~#convert source.jpg -resize x500 -resize "500x<" -gravity center +repage target.jpg
Run Code Online (Sandbox Code Playgroud)

Python代码:

>> command_list = ['convert', 'source.jpg', '-resize', 'x500', '-resize', '\'500x<\'', '-gravity', 'center', 'target.jpg']
>> p = subprocess.call(command_list)
convert: invalid argument for option `'500x<'': -resize.
Run Code Online (Sandbox Code Playgroud)

上面的代码有什么问题?

python subprocess

2
推荐指数
1
解决办法
3218
查看次数

在Django视图中访问其他项目中的模型会导致"表不存在"错误

基础项目结构

baseproject
    baseapp
        models.py
            class BaseModel(models.Model)
            ...
Run Code Online (Sandbox Code Playgroud)

其他项目结构:

project
    app
        views.py
        urls.py
Run Code Online (Sandbox Code Playgroud)

project.app.views.py

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings'
from django.conf import settings
from baseproject.baseapp.models import BaseModel
print BaseModel.objects.count()
Run Code Online (Sandbox Code Playgroud)

从命令行运行时,它引发了"表'project.baseapp_baemodel'不存在"错误:"python views.py".

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'baseproject.settings'
from django.conf import settings
from baseproject.baseapp.models import BaseModel
print BaseModel.objects.count()
Run Code Online (Sandbox Code Playgroud)

将project.settings更改为baseproject.settings后,它在命令行中运行.

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'baseproject.settings'
from django.conf import settings
from baseproject.baseapp.models import BaseModel

def someview(request):
    count = BaseModel.objects.count()
    return render_to_response(...)
Run Code Online (Sandbox Code Playgroud)

但是当通过在浏览器中打开相应的URL来访问视图时,它仍然会引发"表'project.baseapp_baemodel'不存在"错误.

上面的代码有什么问题?

python django model

2
推荐指数
1
解决办法
2909
查看次数

修改中间件中的Django设置变量

我在settings.py中设置了一个变量MAX_REQUEST = 100

我编写了一个中间件,它可以通过以下代码降低来自代理IP地址的请求的此值:

settings.MAX_REQUEST = 10
Run Code Online (Sandbox Code Playgroud)

但是,看起来上述修改会影响所有合法用户.

这是正常的吗?

python django settings middleware

2
推荐指数
1
解决办法
1195
查看次数