小编Eug*_*rny的帖子

使用PIL修剪空白

是否有一个简单的解决方案来修剪PIL中的图像空白?

ImageMagick通过以下方式轻松支持它:

convert test.jpeg -fuzz 7% -trim test_trimmed.jpeg
Run Code Online (Sandbox Code Playgroud)

我找到了PIL的解决方案:

from PIL import Image, ImageChops

def trim(im, border):
    bg = Image.new(im.mode, im.size, border)
    diff = ImageChops.difference(im, bg)
    bbox = diff.getbbox()
    if bbox:
        return im.crop(bbox)
Run Code Online (Sandbox Code Playgroud)

但是这个解决方案有缺点:

  1. 我需要定义border颜色,这对我来说不是什么大问题,我的图像有白色背景
  2. 最不利的是,这个PIL解决方案不支持ImageMagick的-fuzz密钥.添加一些模糊裁剪.因为我可以有一些jpeg压缩工件和不需要的巨大阴影.

可能PIL有一些内置的功能吗?还是有一些快速解决方案?

python imagemagick python-imaging-library

47
推荐指数
2
解决办法
2万
查看次数

脚本中的Scrapy爬行总是在抓取后阻止脚本执行

我按照本指南http://doc.scrapy.org/en/0.16/topics/practices.html#run-scrapy-from-a-script从我的脚本运行scrapy.这是我的脚本的一部分:

    crawler = Crawler(Settings(settings))
    crawler.configure()
    spider = crawler.spiders.create(spider_name)
    crawler.crawl(spider)
    crawler.start()
    log.start()
    reactor.run()
    print "It can't be printed out!"
Run Code Online (Sandbox Code Playgroud)

它应该工作:访问页面,刮取所需信息并存储我告诉它的输出json(通过FEED_URI).但是当蜘蛛完成他的工作时(我可以通过输出json中的数字看到它)我的脚本执行不会恢复.可能它不是scrapy问题.并且应该在扭曲的反应堆中找到答案.我怎么能释放线程执行?

python twisted scrapy

19
推荐指数
2
解决办法
8383
查看次数

只解析一个json级别

我有以下字符串:

'{
    "key1": "val1",
    "key2": ["a","b", 3],
    "key3": {"foo": 27, "bar": [1, 2, 3]}
}'
Run Code Online (Sandbox Code Playgroud)

我想只在级别上解析,所以结果应该是带键的一级字典,值应该只是一个字符串(不需要解析它)

对于给定的字符串,它应该给我以下字典:

{
    "key1": "val1",
    "key2": "['a','b', 3]",
    "key3": "{'foo': 27, 'bar': [1, 2, 3]}"
}
Run Code Online (Sandbox Code Playgroud)

有快速的方法吗?无需将整个字符串解析为json并将所有值转换回字符串.

python json

10
推荐指数
1
解决办法
3006
查看次数

将自定义标签添加到raven

如何添加自定义标签让raven将其设置为哨兵?

当我在django中使用raven时,有几个标签,如OS,浏览器等.

但是我想用raven添加这样的标签,没有django.

谢谢.

python logging sentry raven

10
推荐指数
1
解决办法
4259
查看次数

Django-mptt命令

在我的项目中,我使用django-mptt进行分类.

我的模特:

class Category(models.model):
    name = models.CharField()
    parent = models.ForeignKey("self", blank=True, null=True,
                           related_name="sub_category")
    nav_order = models.IntegerField(null=False, blank=False, default=0)
    # unsure need nav_order column in DB

    class Meta:
        verbose_name_plural = 'Categories'
mptt.register(Category)
Run Code Online (Sandbox Code Playgroud)

我需要有能力获得当前类别的订单,如下所示:

Category                Navigation order(one column)

CatA                      0
|-subcat11                 0
  |-sub11a                    0
  |-sub11b                    1
  \-sub11c                    2
\-subcat12                 1
CatB                      1  
|-subcat21                 0
|-subcat22                 1
\-subcat23                 2
  \-sub23a                    0
CatC                      2
Run Code Online (Sandbox Code Playgroud)

如何在创建/移动元素上快速填充/重新计算订单列.或者按类别计算它Category.objects.get(name='sub11b').get_order()应该返回1.

python django django-mptt

8
推荐指数
1
解决办法
4278
查看次数

如何在django admin中更新jquery版本

如何在Django admin中更新jquery版本?没有在django/contrib/admin/media/js/admin/jquery.min.js中替换它到最新的jquery.min.js.另外,我不想在我的管理员中使用两个版本的jquery.

django django-admin

7
推荐指数
1
解决办法
2203
查看次数

我今天应该知道Objective-C使用Swift吗?

我想尝试iOS开发作为我的宠物项目.我没有Objective-C经验.在工作中使用Python作为我的主要语言.今天有可能只使用迅捷吗?我也可以使用swift的第三方objective-c软件包吗?

objective-c ios swift

0
推荐指数
1
解决办法
1222
查看次数