Sunday, May 25, 2008
A PDFLib for Python
Thursday, May 22, 2008
site -- Site-specific configuration hook(past from python site)
This module is automatically imported during initialization. The automatic import can be suppressed using the interpreter's -S option.
Importing this module will append site-specific paths to the module search path.
It starts by constructing up to four directories from a head and a tail part. For the head part, it uses sys.prefix
and sys.exec_prefix
; empty heads are skipped. For the tail part, it uses the empty string and then lib/site-packages (on Windows) or lib/python2.5/site-packages and then lib/site-python (on Unix and Macintosh). For each of the distinct head-tail combinations, it sees if it refers to an existing directory, and if so, adds it to sys.path
and also inspects the newly added path for configuration files.
A path configuration file is a file whose name has the form package.pth and exists in one of the four directories mentioned above; its contents are additional items (one per line) to be added to sys.path
. Non-existing items are never added to sys.path
, but no check is made that the item refers to a directory (rather than a file). No item is added to sys.path
more than once. Blank lines and lines beginning with #
are skipped. Lines starting with import
are executed.
For example, suppose sys.prefix
and sys.exec_prefix
are set to /usr/local. The Python 2.5.2 library is then installed in /usr/local/lib/python2.5 (where only the first three characters of sys.version
are used to form the installation path name). Suppose this has a subdirectory /usr/local/lib/python2.5/site-packages with three subsubdirectories, foo, bar and spam, and two path configuration files, foo.pth and bar.pth. Assume foo.pth contains the following:
# foo package configuration
foo
bar
bletch
and bar.pth contains:
# bar package configuration
bar
Then the following directories are added to sys.path
, in this order:
/usr/local/lib/python2.3/site-packages/bar
/usr/local/lib/python2.3/site-packages/foo
Note that bletch is omitted because it doesn't exist; the bar directory precedes the foo directory because bar.pth comes alphabetically before foo.pth; and spam is omitted because it is not mentioned in either path configuration file.
After these path manipulations, an attempt is made to import a module named sitecustomize, which can perform arbitrary site-specific customizations. If this import fails with an ImportError exception, it is silently ignored.
Note that for some non-Unix systems, sys.prefix
and sys.exec_prefix
are empty, and the path manipulations are skipped; however the import of sitecustomize is still attempted.
Tuesday, May 6, 2008
Our wedding day
Thursday, May 1, 2008
How the Decimal is in Python
>>0.1+0.1+0.1-0.3
you will get
>>5.5511151231257827e-017
The reason is cause of your hardware.Then how should we do then we can get a zero?Use Decimal,
>>from decimal import Decimal
>>Decimal(0.1)+Decimal(0.1)+Decimal(0.1)-Decimal(0.3)
>>Decimal(0)
Great,isn't it?
Then consider another condition,if this:
>>1/3
>>0.33333331
but sometime for example we only want to got fist four precision,how to do it?
>>decimal.getcontext().prec=4
>>Decimal(1)/Decimal(3)
Decimal(0.3333)
Wow...fantastic:)
Division in Python
>>1/2
>>0
As you can see,you will get a result 0,but not 0.5. That is Python will return an integer in default.if you want to get a result 0.5,there are two ways you can do it:
first:
>>1.0/2
>>0.5
second:
>>from __future__ imort divisions
>>1/2
>>0.5
if you want return an integer.you should use "//"
>>1//2
>>0