非常教程

Python参考手册

Unix

dl

自2.6版弃用:dl模块已在Python 3中删除。请改用ctypes模块。

dl模块为dlopen()函数定义了一个接口,这是Unix平台上处理动态链接库最常用的接口。它允许程序在这样的库中调用任意函数。

警告

dl模块绕过Python类型系统和错误处理。如果使用不当,可能会导致分段错误,崩溃或其他不正确的行为。

注意

除非sizeof(int)== sizeof(long)== sizeof(char *),否则此模块将不起作用如果情况并非如此,则会在导入时引发SystemError。

dl模块定义了以下功能:

dl.open(name[, mode=RTLD_LAZY])

打开一个共享对象文件,并返回一个句柄。模式表示后期绑定(RTLD_LAZY)或即时绑定(RTLD_NOW)。默认是RTLD_LAZY。请注意,有些系统不支持RTLD_NOW

返回值是一个 dlobject

dl模块定义了以下常量:

dl.RTLD_LAZY

作为open()的参数,它很有用。

dl.RTLD_NOW

作为参数有用open()。请注意,在不支持立即绑定的系统上,此常量不会出现在模块中。为了获得最大的可移植性,可以使用hasattr()来确定系统是否支持立即绑定

dl模块定义了以下例外情况:

exception dl.error

动态加载和链接例程中发生错误时引发异常。

例:

>>> import dl, time
>>> a=dl.open('/lib/libc.so.6')
>>> a.call('time'), time.time()
(929723914, 929723914.498)

这个例子在Debian GNU / Linux系统上被尝试过,并且是使用这个模块通常是一个糟糕的选择的事实的一个很好的例子。

1. Dl对象

open()上面返回的DI对象具有以下方法:

dl.close()

释放除内存外的所有资源。

dl.sym(name)

如果它存在于引用的共享对象中,则将名为name的函数的指针作为数字返回,否则返回None。这在代码中很有用:

>>> if a.sym('time'):
...     a.call('time')
... else:
...     time.time()

(请注意,此函数将返回一个非零数字,因为零是NULL指针)

dl.call(name[, arg1[, arg2...]])

在引用的共享对象中调用名为name的函数。 参数必须是Python整数,它将按原样传递,Python字符串将传递给指针,或者是None,它将作为NULL传递。 请注意,字符串只能作为const char *传递给函数,因为Python不会让它的字符串发生变异。

最多只能有10个参数,而没有给出的参数将被视为None。该函数的返回值必须是一个C long,它是一个Python整数。

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法