[python]第三方模块 python-dateutil:扩展并增强 datetime 模块的功能

简介

扩展并增强 datetime 模块的功能。支持 Python 2.3+。

主页

http://labix.org/python-dateutil

文档

http://labix.org/python-dateutil

安装

pip install python-dateutil

# or
# download from https://pypi.python.org/pypi/python-dateutil
python setup.py install

简单使用

获取历史上的今天,上个月的今天,下个月的今天 link

>>> import datetime
>>> from dateutil.relativedelta import relativedelta
>>>
>>> today
datetime.date ...
more ...

[python]解决使用 argparse 时出现:ValueError: unsupported format character 'p' (0x70) at index 8

将程序从 optparse 转到 argparse 后,出现了如下错误:

...
  File "C:\PYTHON26\lib\site-packages\argparse-1.2.1-py2.6.egg\argparse.py", line 230, in format_help
    func(*args)
  File "C:\PYTHON26\lib\site-packages\argparse-1.2.1-py2.6.egg\argparse.py", line 317, in _format_usage
    usage = usage % dict(prog=self._prog ...
more ...

[python]解决 64 位 windows 下使用 pip 安装带 c 扩展的模块时,出现 "ValueError: [u'path']" 错误

今天在 64 位 Windows 下使用 pip 安装 rcssmin 时,出现了如下错误:

...
   File "C:\Python27\lib\distutils\msvc9compiler.py", line 299, in query_vcvarsall

      raise ValueError(str(list(result.keys())))

 ValueError: [u'path']

这是因为在编译 c 扩展程序时,出现了错误。

解决办法是,安装 Visual Studio 2008 Professional x64,并且在安装时选中 x64 compiler tools:

install vs2008

参考

more ...

[django]使用 South 重命名 model 字段名

本文将讲述如何使用 South 重命名表的字段名。

假设应用 foobar 有个 model:

class Foo(models.Model):
    foo = models.IntegerField()

想要将 foo 字段名改为 bar。

  1. 改好 models.py

    class Foo(models.Model):
        bar = models.IntegerField()
    
  2. 执行 south 命令

    # python manage.py schemamigration yourapp rename_field_foo_to_bar --empty
    # 本例是
    python manage.py schemamigration foobar rename_field_foo_to_bar --empty
    
  3. 更改生成的 000x_xxx.py 文件 ...

more ...

[django]使用 South 重命名 model 名称

本文将讲述如何使用 South 重命名表名。

假设应用 foobar 有个 model:

class Foo(models.Model):
    foo = models.IntegerField()

想要将 model Foo 改名为 Bar。

  1. 改好 models.py

    class Bar(models.Model):
        foo = models.IntegerField()
    
  2. 执行 south 命令

    # python manage.py schemamigration yourapp rename_model_foo_to_bar --empty
    # 本例是
    python manage.py schemamigration foobar rename_model_foo_to_bar --empty
    
  3. 更改生成的 000x_xxx.py ...

more ...