小编yam*_*amm的帖子

Python列表使用None作为参数切片

通过反复试验,我发现了这一点

my_list = range(10)
my_list[:None] == my_list[:]
Run Code Online (Sandbox Code Playgroud)

我将它用于django查询集,所以我可以定义一个大小或全部:

some_queryset[:length if length else None]

# @IanAuld
some_queryset[:length or None]


# @Bakuriu
# length works for all numbers and None if you want all elements
# does not work with False of any other False values
some_queryset[:length]
Run Code Online (Sandbox Code Playgroud)
  • None切片时使用这个好习惯吗?
  • 在任何情况下,这种方法都会出现问题吗?

python list

17
推荐指数
3
解决办法
4949
查看次数

zip_safe = False在setup.py文件中不起作用

我想将我的项目安装为文件夹而不是.egg文件.所以我在setup.py文件中的setup函数中使用了zip_safe = False

但是当我运行这个时,我的项目被安装为.egg文件而不是/Library/Python/2.7/site-packages中的目录.下面是我的setup.py文件

from setuptools import setup, find_packages

setup(name = "my-project",
    version = "0.1",
    description = "Python version of my-project",
    author = "Priyal Jain",
    author_email = "jpriyal@gmail.com",
    license="Apache 2.0",
    keywords="Python my project",
    package_dir={'': 'lib'},
    #packages=find_packages('lib'),
    packages= ['abc','pqr'],
    package_data={
        'abc.sample': ['*.yml']
    },
    zip_safe= False,
    scripts = ["abc"],
    classifiers=[
        'Environment :: Console',
        'Intended Audience :: Developers',
        'Intended Audience :: Information Technology',
        'Intended Audience :: System Administrators',
        'Intended Audience :: Telecommunications Industry',
        'Operating System :: OS Independent',
        'Programming Language :: Python',
    ], …
Run Code Online (Sandbox Code Playgroud)

python egg setuptools setup.py

9
推荐指数
1
解决办法
4037
查看次数

PEP-8用于函数调用

我最近开始使用Python/Django,我听说过PEP 8惯例.在阅读了PEP8之后,我对如何"设计"我的代码有了更好的理解,但我学会了用Java编程,而我过去常常做任何我喜欢的事情.你能建议如何将我的例子放入PEP-8吗?非常感激.

result = urllib.urlretrieve(
                            "https://secure.gravatar.com/avatar.php?"+
                            urllib.urlencode({
                                            'gravatar_id': hashlib.md5(email).hexdigest(),
                                            'size': srt(size)
                                            })
                            )
Run Code Online (Sandbox Code Playgroud)

python conventions pep8 code-conversion

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

是否存在 UTF-8 编码中未使用的字节?

据我了解,UTF-8 是 ASCII 的超集,因此包括不用于表示可打印字符的控制字符。

我的问题是:是否有任何字节(256 个不同的字节)未被 UTF-8 编码使用?

我想知道您是否可以将UTF-8 文本转换/编码为二进制。

这是我的思考过程:

我不知道 UTF-8 文本编码是如何工作的,也不知道它如何使用这么多字符(只知道它对非 ASCII (Latin-1??) 中的字符使用多个字节),但我知道 ASCII 文本在 UTF 中是有效的-8 因此UTF-8 编码对控制字符(字节 0-30)的使用没有不同,但它们同时不用于显示字符,对吧?

因此,在 256 个不同字节中,仅使用了约 230 个字节。对于 1000(二进制)长的 Unicode 文本,只有 1000^230 个不同的文本?正确的?

如果是这样,您可以将其转换为小于 1000 字节的二进制数据。

Wolfram alpha : 1000 字节的 unicode (假设 unicode 只使用 256 个不同字节中的 230 个) --> 496 字节

unicode binary

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

如何在python中的%s之后使用%?

我的问题归结为:

# examplecode
# i want to achieve the string "1.1%"

s = '%s%' % '1.1'
# but this throws me a
ValueError: incomplete format
Run Code Online (Sandbox Code Playgroud)

我可以使用ofc format()

s = '{}%'.format('1.1')
Run Code Online (Sandbox Code Playgroud)

但是有没有办法在a %之后使用a %s

python string

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

在virtualenv中的Pip版本

编辑:

问题是我virtualenv==1.9安装了哪个是破损版本.在你尝试调试任何东西之前我建议你升级你的包;-)

原文:

我在这里找到了pip和(可能)openssl的问题.简单的解决方法是降级到1.2.1.这有效,但每次我用virtualenv创建一个虚拟环境时,它会安装pip 1.5.6当前版本的pip.如果你安装djangocms-installer会发生同样的情况,所以每次我安装带有依赖关系的东西到pip我都要再次检查/设置pip版本.

有没有办法为virtualenv设置pip版本?

有没有办法为该程序的每次安装设置程序的"默认"版本?

编辑:

操作系统:Mac os 10.7.5

Python:2.7

python pip virtualenv

-1
推荐指数
1
解决办法
3489
查看次数