python常用模块

python常用模块
python常用模块

python中os模块中文帮助文档

文章分类:Python编程

python中os模块中文帮助文档

翻译者:butalnd 翻译于2010.1.7——2010.1.8,个人博客:https://www.360docs.net/doc/e74915099.html,/ 注此模块中关于unix中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,其中很多不足之处请多多包涵。

这个模块提供了一个轻便的方法使用要依赖操作系统的功能。如何你只是想读或写文件,请使用open()

,如果你想操作文件路径,请使用os.path模块,如果你想在命令行中,读入所有文件的所有行,请使用

fileinput模块。使用tempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请使用shutil模块。

os.error

内建OSError exception的别名。

https://www.360docs.net/doc/e74915099.html,

导入依赖操作系统模块的名字。下面是目前被注册的名字:'posix', 'nt', 'mac', 'os2', 'ce', 'java', 'riscos'.

下面的function和data项是和当前的进程和用户有关

os.environ

一个mapping对象表示环境。例如,environ['HOME'] ,表示的你自己home文件夹的路径(某些平台支持,windows不支持)

,它与C中的getenv("HOME")一致。

这个mapping对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。在这一次之后改变environment不

影响os.environ,除非直接修改os.environ.

注:putenv()不会直接改变os.environ,所以最好是修改os.environ

注:在一些平台上,包括FreeBSD和Mac OS X,修改environ会导致内存泄露。参考putenv()的系统文档。

如果没有提供putenv(),mapping的修改版本传递给合适的创建过程函数,将导致子过程使用一个修改的environment。

如果这个平台支持unsetenv()函数,你可以删除mapping中的项目。当从os.environ使用pop()或clear()删除一个项目时,unsetenv()会自动被调用(版本2.6)。

os.chdir(path)

os.fchdir(fd)

os.getcwd()

这些函数在Files和Directories中。

os.ctermid()

返回进程控制终端的文件名。在unix中有效,请查看相关文档.。

os.getegid()

返回当前进程有效的group的id。对应于当前进程的可执行文件的"set id "的bit位。在unix 中有效,请查看相关文档.。

os.geteuid()

返回当前进程有效的user的id。在unix中有效,请查看相关文档.。

os.getgid()

返回当前进程当前group的id。在unix中有效,请查看相关文档.。

os.getgroups()

返回当前进程支持的groups的id列表。在unix中有效,请查看相关文档.。

os.getlogin()

返回进程控制终端登陆用户的名字。在大多情况下它比使用environment变量LOGNAME 来得到用户名,或使用pwd.getpwuid(os.getuid())[0] 得到当前有效用户id的登陆名更为有效。在unix中有效,请查看相关文档.。

os.getpgid(pid)

返回pid进程的group id.如果pid为0,返回当前进程的group id。在unix中有效,请查看相关文档.。

os.getpgrp()

返回当前进程组的id.在unix中有效,请查看相关文档.。

os.getpid()

返回当前进程的id.在unix,Windows中有效。

os.getppid()

返回当前父进程的id.在unix中有效,请查看相关文档.。

os.getuid()

返回当前当前进程用户的id.在unix中有效,请查看相关文档.。

os.getenv(varname[, value])

返回environment变量varname的值,如果value不存在,默认为None.在大多版本的unix,Windows中有效。

os.putenv(varname, value)

设置varname环境变量为value值。此改变影响以os.system(), popen() 或fork()和execv()启动的子进程。在大多版本的unix,Windows中有效。

当支持putenv()时,在os.environ分配项目时,自动调用合适的putenv()。然而,调用putenv() 不会更新os.environ,所以直接设置os.environ的项。

os.setegid(egid)

设置当前进程有效组的id.在unix中有效,请查看相关文档.。

os.seteuid(euid)

设置当前进程有效用户的id.在unix中有效,请查看相关文档.。

os.setgid(gid)

设置当前进程组的id.在unix中有效,请查看相关文档.。

os.setgroups(groups)

设置当前进程支持的groups id列表。groups必须是个列表,每个元素必须是个整数,这个操作只对超级用户有效,在unix中有效,请查看相关文档.。

os.setpgrp()

调用system的setpgrp()或setpgrp(0, 0)() ,依赖于使用的是哪个版本的system. 请查看Unix 手册. 在unix中有效,请查看相关文档.。

os.setpgid(pid, pgrp)

调用system的setpgid()设置pid进程group的id为pgrp.请查看Unix手册. 在unix中有效,请查看相关文档.。

os.setreuid(ruid, euid)

设置当前process当前和有效的用户id. 在unix中有效,请查看相关文档.。

os.setregid(rgid, egid)

设置当前process当前和有效的组id. 在unix中有效,请查看相关文档.。

os.getsid(pid)

调用system的getsid(). 请查看Unix手册. 在unix中有效,请查看相关文档.。

os.setsid()

调用system的setsid().请查看Unix手册. 在unix中有效,请查看相关文档.。

os.setuid(uid)

设置当前user id. 在unix中有效,请查看相关文档.。

os.strerror(code)

返回程序中错误code的错误信息。在某些平台上,当给一个未知的code,strerror()返回NULL,将抛出ValueError。在unix,Windows中有效。

os.umask(mask)

设置当前权限掩码,同时返回先前的权限掩码。在unix,Windows中有效。

os.fdopen(fd[, mode[, bufsize]])

返回一个文件描述符号为fd的打开的文件对象。mode和bufsize参数,和内建的open()函数是同一个意思。在unix,Windows中有效。

mode必须以'r', 'w',或者'a'开头, 否则抛出ValueError.

以'a'开头的mode, 文件描述符中O_APPEND位已设置.

os.popen(command[, mode[, bufsize]])

给或从一个command打开一个管理。返回一个打开的连接到管道文件对象,文件对象可以读或写,在于模式是'r'(默认) 或'w',bufsize参数,和内建的open()函数是同一个意思。command返回的状态(在wait()函数中编码) 和调用文件对象的close()返回值一样, 除非返回值是0(无错误终止), 返回None . 在unix,Windows中有效。

在2.6版本中已抛弃. 使用subprocess模块.

os.tmpfile()

返回一个打开的模式为(w+b)的文件对象.这文件对象没有文件夹入口,没有文件描述符,将会自动删除. 在unix,Windows中有效。

从version 2.6起: 所有的popen*()函数已抛弃. 使用subprocess模块.

os.popen2(cmd[, mode[, bufsize]])

os.popen3(cmd[, mode[, bufsize]])

os.popen4(cmd[, mode[, bufsize]])

16.1.3. 文件描述符操作

这些函数操作使用文件描述符引用的I/O stream。

文件描述符是与当前进程打开的文件相对应的一些小整数. 例如标准输入的通常文件描述符中0, 标准输出是1,标准错误是2. 进程打开的更多文件将被分配为3, 4, 5,等. 这“文件描述符”有一点迷惑性;在Unix平台上, socket和pipe 通常也使用文件描述符引用.

os.close(fd)

关闭文件描述符fd. 在unix,Windows中有效。

这函数是为低层的I/O服务的,应用在os.open()或pipe()返回的文件描述符上。关闭一个由内建函数open()或popen()或fdopen()打开的文件对象,使用close()方法。

os.closerange(fd_low, fd_high)

关闭从fd_low(包含)到fd_high(不包含)所有的文件描述符,忽略错误。在unix,Windows 中有效。

等同于:

for fd in xrange(fd_low, fd_high):

try:

os.close(fd)

except OSError:

pass

os.dup(fd)

返回文件描述符fd的cope. 在unix,Windows中有效。

os.dup2(fd, fd2)

复制文件描述符fd到fd2, 如果有需要首先关闭fd2. 在unix,Windows中有效。

os.fchmod(fd, mode)

改变文件描述符为fd的文件’mode‘为mode. 查看chmod()文档中mode的值. 在unix中有效,请查看相关文档.。

version 2.6中新增.

os.fchown(fd, uid, gid)

改变文件描述符为fd的文件的所有者和group的id为uid和gid. 如果不想它们中的一个, 就设置为-1. 在unix中有效,请查看相关文档.。

version 2.6中新增.

os.fdatasync(fd)

强制将文件描述符为fd的文件写入硬盘. 不强制更新metadata. 在unix中有效,请查看相关文档.。

注:在MacOS中无效.

os.fpathconf(fd, name)

返回一个打开的文件的系统配置信息。name为检索的系统配置的值,它也许是一个定义系统值的字符串,这些名字在很多标准中指定(POSIX.1, Unix 95, Unix 98, 和其它)。一些平台也定义了一些额外的名字。这些名字在主操作系统上pathconf_names的字典中。对于不在pathconf_names中的配置变量,传递一个数字作为名字,也是可以接受的。在unix中有效,请查看相关文档.。

如果name是一个字符串或者未知的,将抛出ValueError。如果name是一个特别的值,在系统上不支持,即使它包含在pathconf_names中,将会抛出错误数字为errno.EINVAL的OSError。

os.fstat(fd)

返回文件描述符fd的状态,像stat()。在unix,Windows中有效。

os.fstatvfs(fd)

返回包含文件描述符fd的文件的文件系统的信息,像statvfs(). 在unix中有效,请查看相关文档.。

os.fsync(fd)

强制将文件描述符为fd的文件写入硬盘.在Unix, 将调用fsync()函数;在Windows, 调用_commit()函数.

如果你准备操作一个Python文件对象f, 首先f.flush(),然后os.fsync(f.fileno()), 确保与f相关的所有内存都写入了硬盘.在unix,Windows中有效。

os.ftruncate(fd, length)

裁剪文件描述符fd对应的文件, 所以它最大不能超过文件大小. 在unix中有效,请查看相关文档.。

os.isatty(fd)

如果文件描述符fd是打开的,同时与tty(-like)设备相连,则返回true, 否则False. 在unix 中有效,请查看相关文档.。

os.lseek(fd, pos, how)

设置文件描述符fd当前位置为pos, how方式修改: SEEK_SET 或者0 设置从文件开始的计算的pos; SEEK_CUR或者 1 则从当前位置计算; os.SEEK_END或者2则从文件尾部开始. 在unix,Windows中有效。

os.open(file, flags[, mode])

打开file同时根据flags设置变量flags ,如果有mode,则设置它的mode. 默认的mode是0777 (八进制), 当前掩码值是first masked out. 返回刚打开的文件描述符. 在unix,Windows 中有效。

flag和mode值, 请查看C运行时文档; flag常数(像O_RDONL Y and O_WRONL Y)在这个模块中也定义了(在下面).

注:这函数是打算为低层I/O服务的.正常的使用,使用内建函数open(),返回read()和write() 等方法创建的文件对象.包装文件描述符为“文件对象”, 使用fdopen().

os.openpty()

在一些Unix平台上有效,请查看相关文档.

os.pipe()

创建一个管道. 返回一对文件描述符(r, w) 分别为读和写. 在unix,Windows中有效。

os.read(fd, n)

从文件描述符fd中读取最多n个字节. 返回包含读取字节的string. 文件描述符fd对应文件已达到结尾, 返回一个空string. 在unix,Windows中有效。

注:这函数是打算为低层I/O服务的,同时必须应用在os.open()或者pipe()函数返回的文件描述符. 读取内建函数open()或者by popen()或者fdopen(),或者sys.stdin返回的一个“文件对象”, 使用它的read()或者readline()方法.

os.tcgetpgrp(fd)

在unix中有效,请查看相关文档.。

os.tcsetpgrp(fd, pg)

在unix中有效,请查看相关文档.。

os.ttyname(fd)

在unix中有效,请查看相关文档.。

os.write(fd, str)

写入字符串到文件描述符fd中. 返回实际写入的字符串长度. 在unix,Windows中有效。

注:这函数是打算为低层I/O服务的,同时必须应用在os.open()或者pipe()函数返回的文件描述符. 读取内建函数open()或者by popen()或者fdopen(),或者sys.stdin返回的一个“文件对象”, 使用它的read()或者readline()方法.

下面的常数是open()函数的flags参数选项. 它们可以使用bitwise合并或者operator |. 它们中的一些常数并不是在所有平台都有效. 它们更多使用请查看相关资料,在unix上参考open(2)手册页面,windows上https://www.360docs.net/doc/e74915099.html,/en-us/library/z0kc8e3z.aspx.

os.O_RDONL Y

os.O_WRONL Y

os.O_RDWR

os.O_APPEND

os.O_CREAT

os.O_EXCL

os.O_TRUNC

这些常数在Unix and Windows上有效.

os.O_DSYNC

os.O_RSYNC

os.O_SYNC

os.O_NDELAY

os.O_NONBLOCK

os.O_NOCTTY

os.O_SHLOCK

os.O_EXLOCK

这些常数仅在Unix上有效.

os.O_BINARY

os.O_NOINHERIT

os.O_SHORT_LIVED

os.O_TEMPORARY

os.O_RANDOM

os.O_SEQUENTIAL

os.O_TEXT

这些常数仅在Windows上有效.

os.O_ASYNC

os.O_DIRECT

os.O_DIRECTORY

os.O_NOFOLLOW

os.O_NOATIME

这些常数是GNU扩展,如果没有在C库声明刚没有.

os.SEEK_SET

os.SEEK_CUR

os.SEEK_END

lseek()函数的参数. 它们的值分别是0, 1,和2. 在Unix and Windows上有效.

版本2.5新增.

16.1.4. 文件和文件夹

os.access(path, mode)

使用现在的uid/gid尝试访问path. 注大部分操作使用有效的uid/gid, 因此运行环境可以在suid/sgid环境尝试,如果用户有权访问path. mode为F_OK,测试存在的path,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多.如果允许访问返回True , 否则返回False. 查看Unix手册access(2) 获取更多信息. 在unix,Windows中有效。

注:使用access()去测试用户是否授权. 在实际使用open()打开一个文件前测试会创建一个安全漏洞前, 因为用户会利用这短暂时间在检测和打开这个文件去修改它.

注:即使access()表明它将succeed,但I/O 操作也可能会失败, 如网络文件系统.

os.F_OK

作为access()的mode参数,测试path是否存在.

os.R_OK

包含在access()的mode参数中,测试path是否可读.

os.W_OK

包含在access()的mode参数中,测试path是否可写.

os.X_OK

包含在access()的mode参数中,测试path是否可执行..

os.chdir(path)

改变当前工作目录. 在unix,Windows中有效。

os.fchdir(fd)

在unix中有效,请查看相关文档.。

os.getcwd()

返回当前工作目录的字符串,在unix,Windows中有效。

os.getcwdu()

返回一个当前工作目录的Unicode对象. 在unix,Windows中有效。

os.chflags(path, flags)

在unix中有效,请查看相关文档.。

os.chroot(path)

在unix中有效,请查看相关文档.。

os.chmod(path, mode)

改变path的mode到数字mode. mode为下面中的一个(在stat模块中定义)或者bitwise或者

它们的组合:

?stat.S_ISUID

?stat.S_ISGID

?stat.S_ENFMT

?stat.S_ISVTX

?stat.S_IREAD

?stat.S_IWRITE

?stat.S_IEXEC

?stat.S_IRWXU

?stat.S_IRUSR

?stat.S_IWUSR

?stat.S_IXUSR

?stat.S_IRWXG

?stat.S_IRGRP

?stat.S_IWGRP

?stat.S_IXGRP

?stat.S_IRWXO

?stat.S_IROTH

?stat.S_IWOTH

?stat.S_IXOTH

在unix,Windows中有效。

注:尽管Windows支持chmod(), 你只可以使用它设置只读flag (通过stat.S_IWRITE和stat.S_IREAD 常数或者一个相对应的整数)。所有其它的bits都忽略了.

os.chown(path, uid, gid)

在unix中有效,请查看相关文档.。

os.lchflags(path, flags)

在unix中有效,请查看相关文档.。

新增version 2.6.

os.lchmod(path, mode)

在unix中有效,请查看相关文档.。

新增version 2.6.

os.lchown(path, uid, gid)

在unix中有效,请查看相关文档.。

新增version 2.3.

os.link(source, link_name)

在unix中有效,请查看相关文档.。

os.listdir(path)

返回path指定的文件夹包含的文件或文件夹的名字的列表. 这个列表以字母顺序. 它不包括'.' 和'..' 即使它在文件夹中. 在unix,Windows中有效。

Changed in version 2.3:在Windows NT/2k/XP 和Unix, 如果文件夹是一个Unicode object, 结果将是Unicode objects列表. 不能解码的文件名将仍然作为string objects返回.

os.lstat(path)

像stat(),但是没有符号链接. 这是stat()的别名在某些平台上,例如Windows.

os.mkfifo(path[, mode])

在unix中有效,请查看相关文档.。

os.mknod(filename[, mode=0600, device])

创建一个名为filename文件系统节点(文件,设备特别文件或者命名pipe)。mode指定创建或使用节点的权限, 组合(或者bitwise) stat.S_IFREG, stat.S_IFCHR, stat.S_IFBLK, 和stat.S_IFIFO (这些常数在stat模块). 对于stat.S_IFCHR和stat.S_IFBLK, 设备定义了最新创建的设备特殊文件(可能使用os.makedev()),其它都将忽略.

新增version 2.3.

os.major(device)

从原始的设备号中提取设备major号码(使用stat中的st_dev或者st_rdev field).

新增version 2.3.

os.minor(device)

从原始的设备号中提取设备minor号码(使用stat中的st_dev或者st_rdev field ).

新增version 2.3.

os.makedev(major, minor)

以major和minor设备号组成一个原始设备号.

新增version 2.3.

os.mkdir(path[, mode])

以数字mode的mode创建一个名为path的文件夹.默认的mode 是0777 (八进制). 在有些平台上, mode是忽略的. 当使用时。这当前的掩码值是first masked out. 在unix,Windows 中有效。

也可以创建临时文件夹; 查看tempfile模块tempfile.mkdtemp()函数.

os.makedirs(path[, mode])

递归文件夹创建函数。像mkdir(), 但创建的所有intermediate-level文件夹需要包含子文件夹. 抛出一个error exception如果子文件夹已经存在或者不能创建. 默认的mode 是0777 (八进制). 在有些平台上, mode是忽略的.当使用时。这当前的掩码值是first masked out。

注:

makedirs()变得迷惑如果路径元素包含os.pardir.

现在可以正确处理UNC路径.

os.pathconf(path, name)

在unix中有效,请查看相关文档.。

os.pathconf_names

在unix中有效,请查看相关文档.。

os.readlink(path)

在unix中有效,请查看相关文档.。

os.remove(path)

删除路径为path的文件.如果path 是一个文件夹,将抛出OSError; 查看下面的rmdir()删除一个directory. 这和下面的unlink()函数文档是一样的.在Windows,尝试删除一个正在使用的文件将抛出一个exception;在Unix,directory入口会被删除,但分配给文件的存储是无效的,直到原来的文件不再使用. 在unix,Windows中有效。

os.removedirs(path)

递归删除directorie. 像rmdir(), 如果子文件夹成功删除, removedirs()才尝试它们的父文件夹,直到抛出一个error(它基本上被忽略,因为它一般意味着你文件夹不为空).例如, os.removedirs('foo/bar/baz') 将首先删除'foo/bar/baz', 然后删除'foo/bar' 和'foo' 如果它们是空的. 如果子文件夹不能被成功删除,将抛出OSError .

新增version 1.5.2.

os.rename(src, dst)

重命名file或者directory src 到dst.如果dst是一个存在的directory, 将抛出OSError. 在Unix, 如果dst在存且是一个file,如果用户有权限的话,它将被安静的替换. 操作将会失败在某些Unix 中如果src和dst在不同的文件系统中. 如果成功, 这命名操作将会是一个原子操作(这是POSIX 需要). 在Windows上, 如果dst已经存在, 将抛出OSError,即使它是一个文件. 在unix,Windows中有效。

os.renames(old, new)

递归重命名文件夹或者文件。像rename()

新增version 1.5.2.

os.rmdir(path)

删除path文件夹. 仅当这文件夹是空的才可以, 否则, 抛出OSError. 要删除整个文件夹树, 可以使用shutil.rmtree(). 在unix,Windows中有效。

os.stat(path)

执行一个stat()系统调用在给定的path上. 返回值是一个对象,属性与stat结构成员有关: st_mode (保护位), st_ino (inode number), st_dev (device), st_nlink (number of hard links), st_uid (所有用户的id), st_gid (所有者group id), st_size (文件大小, 以位为单位), st_atime (最近访问的时间), st_mtime (最近修改的时间), st_ctime (依赖于平台;在Unix上是metadata最近改变的时间,或者在Windows上是创建时间):

>>> import os

>>> statinfo = os.stat('somefile.txt')

>>> statinfo

(33188, 422511L, 769L, 1, 1032, 100, 926L, 1105022698,1105022732, 1105022732)

>>> statinfo.st_size

926L

>>>

如果stat_float_times()返回True,time值是floats,以second进行计算. 一秒的小数部分也会显示出来,如果系统支持. 在Mac OS, 时间常常是floats.查看stat_float_times() 获取更多信息.

在一些Unix系统上(例如Linux), 下面的属性也许是有效的: st_blocks (为文件分配了多少块), st_blksize (文件系统blocksize), st_rdev (设备型号如果是一个inode设备). st_flags (用户为文件定义的flags).

在unix,Windows中有效。

os.stat_float_times([newvalue])

决定stat_result是否以float对象显示时间戳.

os.statvfs(path)

在unix中有效,请查看相关文档.。

os.symlink(source, link_name)

在unix中有效,请查看相关文档.。

os.tempnam([dir[, prefix]])

为创建一个临时文件返回一个唯一的path。在Windows使用TMP . 依赖于使用的C库;

警告:

使用tempnam() 对于symlink攻击是一个漏洞; 考虑使用tmpfile()代替.

在unix,Windows中有效。

os.tmpnam()

为创建一个临时文件返回一个唯一的path.

Warning:

使用tempnam() 对于symlink攻击是一个漏洞; 考虑使用tmpfile()代替.

在unix,Windows中有效。

os.TMP_MAX

tmpnam() 将产生唯一名字的最大数值.

os.unlink(path)

删除file路径. 与remove()相同; 在unix,Windows中有效。

os.utime(path, times)

返回指定的path文件的访问和修改的时间。如果时间是None, 则文件的访问和修改设为当前时间。否则, 时间是一个2-tuple数字, (atime, mtime) 用来分别作为访问和修改的时间. 在unix,Windows中有效。

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

输出在文件夹中的文件名通过在树中游走,向上或者向下.在根目录下的每一个文件夹(包含它自己), 产生3-tuple (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】.

dirpath是一个字符串, directory的路径. dirnames在dirpath中子文件夹的列表(不包括'.' '..'). filenames 文件是在dirpath不包含子文件夹的文件名的列表. 注:列表中的names不包含path.为获得dirpath中的一个文件或者文件夹的完整路径(以顶目录开始)或者, 操作os.path.join(dirpath, name).

如果optional参数topdown为True或者not指定, 一个directory的3-tuple将比它的任何子文件夹的3-tuple先产生(directories 自上而下).如果topdown为False, 一个directory的3-tuple将比它的任何子文件夹的3-tuple后产生(directories 自下而上)。

当topdown为True,调用者可以修改列表中列出的文件夹名字(也可以使用del或者slice), walk() 仅仅递归每一个包含在dirnames中的子文件夹; 可以减少查询, 利用访问的特殊顺序,或者甚至告诉walk() 关于文件夹的创建者或者重命名在它重新walk()之前.修改文件名当topdown 为False时是无效的, 因为在bottom-up模式中在dirnames中的directories比dirpath 它自己先产生.

默认listdir()的errors将被忽略. 如果optional参数onerror被指定,它应该是一个函数; 它调用时有一个参数, 一个OSError实例. 报告这错误后,继续walk,或者抛出exception终止walk.注意filename是可用的的,exception对象的filename属性.

默认, walk() 不会进入符号链接.

新增version 2.6:

注:如果你传入一个相对的pathname, 不要在walk()执行过程中改变当前文件夹. walk()不会改变改前文件夹, 同时确保它的调用者也不会改变.

import os

from os.path import join, getsize

for root, dirs, files in os.walk('python/Lib/email'):

print root, "consumes",

print sum(getsize(join(root, name)) for name in files),

print "bytes in", len(files), "non-directory files"

if 'CVS' in dirs:

dirs.remove('CVS') # don't visit CVS directories

# Delete everything reachable from the directory named in "top",

# assuming there are no symbolic links.

# CAUTION: This is dangerous! For example, if top == '/', it

# could delete all your disk files.

import os

for root, dirs, files in os.walk(top, topdown=False):

for name in files:

os.remove(os.path.join(root, name))

for name in dirs:

os.rmdir(os.path.join(root, name))

新增version 2.3.

使用函数来创建和管理进程。

使用exec*() 函数使用arguments列表来载入新程序. 在每个例子, 一个用户敲入一个命令行中的第一个参数传递给程序作为它自己的名字而不是作为参数. 对于 C 程序员来说, 它是传递给main()的argv[0]. 例如, os.execv('/bin/echo', ['foo', 'bar']) 将仅仅在标准输出上打印bar; foo 将被忽略.

os.abort()

产生一个SIGABRT标识到当前的进程.在Unix,这默认的行为是产生一个主要的dump;在Windows,这进程立即返回退出以一个状态码为 3. 程序使用signal.signal()来注册一个SIGABRT 将导致不同的行为. 在unix,Windows中有效。

os.execl(path, arg0, arg1, ...)

os.execle(path, arg0, arg1, ..., env)

os.execlp(file, arg0, arg1, ...)

os.execlpe(file, arg0, arg1, ..., env)

os.execv(path, args)

os.execve(path, args, env)

os.execvp(file, args)

os.execvpe(file, args, env)

这些函数将执行一个新程序, 替换当前进程; 他们没有返回.在Unix,新的执行体载入到当前的进程, 同时将和当前的调用者有相同的id. 将报告Errors 当抛出OSError时.

当前的进程立即被替代. 打开文件对象和描述符不会被刷新, 如果在这些打开的文件中有数据缓冲区,应该在调用exec*() 函数之前,使用sys.stdout.flush()或者os.fsync()flush它们 .

在unix,Windows中有效。

os._exit(n)

使用状态n退出系统,没有调用清理函数,刷新缓冲区。在unix,Windows中有效。

注:标准退出的方法是sys.exit(n). _exit()一般使用于fork()产生的子进程中.

os.EX_OK

在unix中有效,请查看相关文档.。

新增version 2.3.

os.EX_USAGE

在unix中有效,请查看相关文档.。

新增version 2.3.

os.EX_DATAERR

在unix中有效,请查看相关文档.。

新增version 2.3.

os.EX_NOINPUT

在unix中有效,请查看相关文档.。

新增version 2.3.

os.EX_NOUSER

在unix中有效,请查看相关文档.。

新增version 2.3.

os.EX_NOHOST

在unix中有效,请查看相关文档.。

新增version 2.3.

os.EX_UNA V AILABLE

在unix中有效,请查看相关文档.。新增version 2.3.

os.EX_SOFTWARE

在unix中有效,请查看相关文档.。新增version 2.3.

os.EX_OSERR

在unix中有效,请查看相关文档.。新增version 2.3.

os.EX_OSFILE

在unix中有效,请查看相关文档.。新增version 2.3.

os.EX_CANTCREAT

在unix中有效,请查看相关文档.。新增version 2.3.

os.EX_IOERR

在unix中有效,请查看相关文档.。新增version 2.3.

os.EX_TEMPFAIL

在unix中有效,请查看相关文档.。新增version 2.3.

os.EX_PROTOCOL

在unix中有效,请查看相关文档.。新增version 2.3.

os.EX_NOPERM

在unix中有效,请查看相关文档.。

新增version 2.3.

os.EX_CONFIG

在unix中有效,请查看相关文档.。

新增version 2.3.

os.EX_NOTFOUND

在unix中有效,请查看相关文档.。

新增version 2.3.

os.fork()

在unix中有效,请查看相关文档.。

os.forkpty()

在一些unix中有效,请查看相关文档

os.kill(pid, sig)

在unix中有效,请查看相关文档.。

os.killpg(pgid, sig)

在unix中有效,请查看相关文档.。

新增version 2.3.

os.nice(increment)

在unix中有效,请查看相关文档.。

os.plock(op)

在unix中有效,请查看相关文档.。

os.popen(...)

os.popen2(...)

os.popen3(...)

os.popen4(...)

运行子进程, 返回交流的打开的管道.这些函数在前面创建文件对象时介绍过. os.spawnl(mode, path, ...)

os.spawnle(mode, path, ..., env)

os.spawnlp(mode, file, ...)

os.spawnlpe(mode, file, ..., env)

os.spawnv(mode, path, args)

os.spawnve(mode, path, args, env)

os.spawnvp(mode, file, args)

os.spawnvpe(mode, file, args, env)

在新进程中执行程序path

(请使用subprocess模块)

如果模式是P_NOW AIT, 返回新进程的id;如果模式是P_W AIT,返回进程退出时的状态码。如果正常退出,或者-signal, 当signal 是killed.在Windows, 进程id实际上是process的handle,所它可以使用于waitpid()函数.

import os

os.spawnlp(os.P_WAIT, 'cp', 'cp', 'index.html', '/dev/null')

L = ['cp', 'index.html', '/dev/null']

os.spawnvpe(os.P_W AIT, 'cp', L, os.environ)

在unix,Windows中有效。

新增version 1.6.

os.P_NOWAIT

os.P_NOWAITO

spawn*()族函数参数mode的可选值. 如果给出其中任一个值, 新进程一创建完成,spawn*()函数将立即返回,返回进程id的值. 在unix,Windows中有效。

新增version 1.6.

os.P_W AIT

spawn*()族函数参数mode的可能值. 如果将它赋值给mode, spawn*() 函数不返回,直接运行结束以及如果运行成功,将返回进程的退出码,或者如果signal杀掉了这个进程,将返回-signal. 在unix,Windows中有效。

新增version 1.6.

os.P_DETACH

os.P_OVERLAY

spawn*()族函数参数mode的可选值。P_DETACH和P_NOW AIT很相似,但是新进程依附在调用进程的console上。如果使用了P_OVERLAY,当前进程将被替换,spawn*()函数将无返回。在Windows上有效。

新增version 1.6.

os.startfile(path[, operation])

以相关的程序打开文件.

当operation没有指定或者'open', 这操作就像在Windows Explorer双击文件,或者将这个文件作为交互命令行中start命令的参数:与文件扩展相关的程序打开文件。

当指定另外操作时, 它必须是“command verb”它指定应该对文件做什么.像Microsoft的

'print' 'edit' (作用在文件上) 'explore' and 'find' (作用在文件夹上).

startfile()只要相关的应该程序一启动就返回。没有选项等待应用程序关闭, 没有方法接收应用程序退出的状态. path参数与当前directory相关. 如果你想使用一个绝对路径,确保第一个字符不是('/')。使用os.path.normpath() 函数确保路径对于win32来说是正确的. 在Windows 上有效.

新增version 2.0.

新增version 2.5: The operation parameter.

os.system(command)

在shell中执行string命令. 这是使用标准C函数system(), 有同样的限制. 例如改变sys.stdin, 不影响命令执行环境.

在Unix, 请查看相当文档.

在Windows, 返回值是在shell运行命令的返回值。

在unix,Windows中有效。

subprocess模块提供了一个更强大的功能产生新进程和接收它们的结果;

os.times()

返回一个5-tuple的浮点数字,表示(处理器或者其它)累积时间, 以秒为单位. items为:用户时间, 系统time, 子用户time, 子系统time, 和从过去一个固定的点真实流逝的时间. 在unix,Windows中有效。在Windows, 仅仅填充开始两项, 其它都为0.

os.wait()

在unix中有效,请查看相关文档.。

os.waitpid(pid, options)

Unix:等待一个指定的pid的子进程完成, 返回一个tuple返回它的进程id和退出状态. 一般情况下option设为0.

更强细请查看相关文档

在Windows: 等待一个指定的pid的进程完成, 返回一个tuple返回它的进程id和退出状态向左移动了8位。如果pid小于或等于0没有特别的意思,将抛出exception. integer options 没有任何影响. pid 可以指向任何进程的id,不一定是子进程的id.

os.wait3([options])

在unix中有效,请查看相关文档.。

新增version 2.5.

os.wait4(pid, options)

在unix中有效,请查看相关文档.。

新增version 2.5.

os.WNOHANG

在unix中有效,请查看相关文档.。os.WCONTINUED

在某些unix中有效,请查看相关文档.。新增version 2.3.

os.WUNTRACED

在unix中有效,请查看相关文档.。

os.WCOREDUMP(status)

在unix中有效,请查看相关文档.。

新增version 2.3.

os.WIFCONTINUED(status)

在unix中有效,请查看相关文档.。

新增version 2.3.

os.WIFSTOPPED(status)

在unix中有效,请查看相关文档.。os.WIFSIGNALED(status)

在unix中有效,请查看相关文档.。os.WIFEXITED(status)

在unix中有效,请查看相关文档.。os.WEXITSTATUS(status)

在unix中有效,请查看相关文档.。os.WSTOPSIG(status)

在unix中有效,请查看相关文档.。os.WTERMSIG(status)

在unix中有效,请查看相关文档.。16.1.6. Miscellaneous System Information os.confstr(name)

在unix中有效,请查看相关文档.。os.confstr_names

Python OS模块(常见文件操作示例)

Python常见文件操作示例 2. 3. os.path 模块中的路径名访问函数 4. 分隔 5. basename() 去掉目录路径, 返回文件名 6. dirname() 去掉文件名, 返回目录路径 7. join() 将分离的各部分组合成一个路径名 8. split() 返回(dirname(), basename()) 元组 9. splitdrive() 返回(drivename, pathname) 元组 10. splitext() 返回(filename, extension) 元组 11. 12. 信息 13. getatime() 返回最近访问时间 14. getctime() 返回文件创建时间 15. getmtime() 返回最近文件修改时间 16. getsize() 返回文件大小(以字节为单位) 17. 18. 查询 19. exists() 指定路径(文件或目录)是否存在 20. isabs() 指定路径是否为绝对路径 21. isdir() 指定路径是否存在且为一个目录 22. isfile() 指定路径是否存在且为一个文件 23. islink() 指定路径是否存在且为一个符号链接 24. ismount() 指定路径是否存在且为一个挂载点 25. samefile() 两个路径名是否指向同个文件 26. 27. os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false 28. os.path.isfile(name):判断name是不是一个文件,不存在name也返回false 29. os.path.exists(name):判断是否存在文件或目录name 30. os.path.getsize(name):获得文件大小,如果name是目录返回0L 31. os.path.abspath(name):获得绝对路径 32. os.path.normpath(path):规范path字符串形式 33. os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在) 34. os.path.splitext():分离文件名与扩展名 35. os.path.join(path,name):连接目录与文件名或目录 36. os.path.basename(path):返回文件名 37. os.path.dirname(path):返回文件路径 38. 39. 40. os模块中的文件操作: 41. os 模块属性

(完整word版)教会你所有的Python模块使用.doc

看了这篇你就会了所有的python模块使用 如果你退出Python解释器并重新进入,你做的任何定义(变量和方法)都 会丢失。因此,如果你想要编写一些更大的程序,为准备解释器输入使用一个 文本编辑器会更好,并以那个文件替代作为输入执行。这就是传说中的脚本。 随着你的程序变得越来越长,你可能想要将它分割成几个更易于维护的文件。 你也可能想在不同的程序中使用顺手的函数,而不是把代码在它们之间中拷来 拷去。 为了满足这些需要, Python提供了一个方法可以从文件中获取定义,在脚本 或者解释器的一个交互式实例中使用。这样的文件被称为模块;模块中的定义可以导入到另一个模块或主模块中(在脚本执行时可以调用的变量集位于最高级,并且处于计算器模式)。 模块是包括Python定义和声明的文件。文件名就是模块名加上.py后缀。模块的模块名(做为一个字符串)可以由全局变量__name__得到。例如,你可以用自己惯用的文件编辑器在当前目录下创建一个叫fibo.py的文件,录入如下内容 :

现在进入Python解释器并使用以下命令导入这个模块: 这样做不会直接把fibo 中的函数导入当前的语义表;它只是引入了模块名 fibo。你可以通过模块名按如下方式访问这个函数: 如果打算频繁使用一个函数,你可以将它赋予一个本地变量: 深入模块 除了包含函数定义外,模块也可以包含可执行语句。这些语句一般用来初始化 模块。他们仅在第一次被导入的地方执行一次。 每个模块都有自己私有的符号表,被模块内所有的函数定义作为全局符号表使 用。因此,模块的作者可以在模块内部使用全局变量,而无需担心它与某个用 户的全局变量意外冲突。从另一个方面讲,如果你确切的知道自己在做什么, 你可以使用引用模块函数的表示法访问模块的全局变量, modname.itemname。 模块可以导入其他的模块。一个(好的)习惯是将所有的import语句放在 模块的开始(或者是脚本),这并非强制。被导入的模块名会放入当前模块的 全局符号表中。小编为大家推荐一个学习交流群:308754087,群里有人都快满了 ~ 大家遇到啥问题都可以在里面交流!是一个非常好的学习交流地方~ 欲进从速欧 ~ 各种 PDF 等你来下载,全部免费,只为帮助大家快速入门。

python 之 numpy 模块的基本使用

python 之numpy 模块的基本使用 一、numpy概述 NumPy(Numerical Python的简称)是高性能科学和数据分析的基础包。numpy模块提供了Python对N维数组对象的支持:ndarray,ndarray数组中的元素须为同一数据类型,这一点与python的列表是不一样的。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。其主要功能如下。 二、创建ndarray数组 代码示例:

# -*- coding: utf-8 -*- import numpy; print '使用列表生成一维数组' data = [1,2,3,4,5,6] x = numpy.array(data) print x #打印数组 print x.dtype #打印数组元素的类型 print '使用列表生成二维数组' data = [[1,2],[3,4],[5,6]] x = numpy.array(data) print x #打印数组 print x.ndim #打印数组的维度 print x.shape #打印数组各个维度的长度。shape是一个元组 print '使用zero/ones/empty创建数组:根据shape来创建' x = numpy.zeros(6) #创建一维长度为6的,元素都是0一维数组 print x x = numpy.zeros((2,3)) #创建一维长度为2,二维长度为3的二维0数组 print x x = numpy.ones((2,3)) #创建一维长度为2,二维长度为3的二维1数组 print x x = numpy.empty((3,3)) #创建一维长度为2,二维长度为3,未初始化的二维数组print x print '使用arrange生成连续元素' print numpy.arange(6) # [0,1,2,3,4,5,] 开区间 print numpy.arange(0,6,2) # [0, 2,4] 三、指定ndarray数组元素的类型 NumPy数据类型:

python常用模块

python常用模块

python 1.******************** 2.PY核心模块方法 3.******************** 4.os模块: 5. os.remove() 删除文件 6. os.unlink() 删除文件 7. os.rename() 重命名文件 8. os.listdir() 列出指定目录下所有文件 9. os.chdir() 改变当前工作目录 10. os.getcwd() 获取当前文件路径 11. os.mkdir() 新建目录 12. os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree()) 13. os.makedirs() 创建多级目录 14. os.removedirs() 删除多级目录 15. os.stat(file) 获取文件属性 16. os.chmod(file) 修改文件权限 17. os.utime(file) 修改文件时间戳 18. https://www.360docs.net/doc/e74915099.html,(file) 获取操作系统标识 19. os.system() 执行操作系统命令 20. os.execvp() 启动一个新进程 21. os.fork() 获取父进程ID,在子进程返回中返回0 22. os.execvp() 执行外部程序脚本(Uinx) 23. os.spawn() 执行外部程序脚本(Windows) 24. os.access(path, mode) 判断文件权限(详细参考cnblogs) 25. os.wait() 暂时未知 26.os.path模块: 27. os.path.split(filename) 将文件路径和文件名分割(会将最后一个目录作为文件名而分 离) 28. os.path.splitext(filename) 将文件路径和文件扩展名分割成一个元组 29. os.path.dirname(filename) 返回文件路径的目录部分 30. os.path.basename(filename) 返回文件路径的文件名部分 31. os.path.join(dirname,basename) 将文件路径和文件名凑成完整文件路径 32. os.path.abspath(name) 获得绝对路径 33. os.path.splitunc(path) 把路径分割为挂载点和文件名 34. os.path.normpath(path) 规范path字符串形式 35. os.path.exists() 判断文件或目录是否存在 36. os.path.isabs() 如果path是绝对路径,返回True 37. os.path.realpath(path) #返回path的真实路径 38. os.path.relpath(path[, start]) #从start开始计算相对路径 39. os.path.normcase(path) #转换path的大小写和斜杠

python中常用的模块的总结

1、模块和包 a.定义: 模块用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py 结尾的python文件。(例如:文件名:test.py,对应的模块名:test) 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个__init__.py的文件)b.导入方法 import module_name import module_1的本质:是将module_1解释了一遍 也就是将module_1中的所有代码复制给了module_1 from module_name1 import name 本质是将module_name1中的name变量放到当前程序中运行一遍 所以调用的时候直接print(name)就可以打印出name变量的值 代码例子:自己写的模块,其他程序调用,如下所示: 模块module_1.py代码: 复制代码 1 name = "dean" 2 def say_hello(): 3 print("hello %s" %name) 调用模块的python程序main代码如下:(切记调用模块的时候只需要import模块名不需要加.py) import module_1 #调用变量 print(module_https://www.360docs.net/doc/e74915099.html,)

#调用模块中的方法 module_1.say_hello() 复制代码 这样运行main程序后的结果如下: 1 D:\python35\python.exe D:/python培训/s14/day5/module_test/main.py 2 dean 3 hello dean 4 5 Process finished with exit code 0 import module_name1,module_name2 from module_name import *(这种方法不建议使用) from module_name import logger as log(别名的方法) c.导入模块的本质就是把python文件解释一遍 import module_name---->module_name.py---->module_name.py的路径---->sys.path 导入包的本质就是执行该包下面的__init__.py 关于导入包的一个代码例子: 新建一个package_test包,并在该包下面建立一个test1.py的python程序,在package 包的同级目录建立一个p_test.py的程序 test1的代码如下: 1 def test(): 2 print("int the test1") package_test包下的__init__.py的代码如下: 1 #import test1 (理论上这样就可以但是在pycharm下测试必须用下面from .import test1) 2 from . import test1 3 print("in the init") p_test的代码如下:

Python2.7处理文本常用代码模块

目录 【Python 模块】文件读入输出一 (1) 【Python 模块】文件读入输出二 (1) 【Python 模块】文件输入输出及拆分示例 (1) 【Python 模块】for循环示例连加 (2) 【Python 模块】while循环示例连加 (2) 【Python 模块】函数及判断示例 (2) 【Python 模块】文本拆分示例 (3) 【Python 模块】使用多个字符分割 (3) 【Python 模块】修剪字符串 (3) 【Python 模块】删除空行技巧 (3) 【Python 模块】and or 技巧 (4) 【Python 模块】面向对象的类及示例 (4) 【Python 模块】子类与继承示例 (4) 【Python 模块】字符统计实例 (5) 【Python 模块】网页访问数据获取示例 (6) 【Python综合】猜游戏程序示例 (6) 【Python 模块】文件读入输出一 f=file('tmp.txt') data=f.read() f.close out=file('out.txt','w') out.write(data) out.close 【Python 模块】文件读入输出二 data='\nI will be in a file.\nSo cool!' out =open('output.txt','a') print data out.write(data) out.close 【Python 模块】文件输入输出及拆分示例 f = file('scores.txt')

lines=f.readlines() #从文件中读取全部行 f.close print lines; results=[] for line in lines: #对每一行数据进行处理 data = line.split() print data sum=0 for score in data[1:]: print int(score) sum +=int(score) #print sum result='%s\t:%d\n' %(data[0],sum) print result results.append(result) print results output=file('result.txt','a') #打开文件,模式为附加output.writelines(results) #将数据写入文件附加在最后output.close() 【Python 模块】for循环示例连加 sum=0 for a in range(0,100): sum=sum+a+1 print "a=%d" %a print "sum=%s" %sum print "从1连加到100的和为%s" %sum 【Python 模块】while循环示例连加 # -*- coding: cp936 -*- a=0 sum=0 while a<100: a+=1 sum=sum+a print "a=%d" %a print "sum=%s" %sum print "从1连加到100的和为%s" %sum 【Python 模块】函数及判断示例 def isEqual(num1,num2): if num1 < num2:

python常用模块

python中os模块中文帮助文档 文章分类:Python编程 python中os模块中文帮助文档 翻译者:butalnd 翻译于2010.1.7——2010.1.8,个人博客:https://www.360docs.net/doc/e74915099.html,/ 注此模块中关于unix中的函数大部分都被略过,翻译主要针对WINDOWS,翻译速度很快,其中很多不足之处请多多包涵。 这个模块提供了一个轻便的方法使用要依赖操作系统的功能。如何你只是想读或写文件,请使用open() ,如果你想操作文件路径,请使用os.path模块,如果你想在命令行中,读入所有文件的所有行,请使用 fileinput模块。使用tempfile模块创建临时文件和文件夹,更高级的文件和文件夹处理,请使用shutil模块。 os.error 内建OSError exception的别名。 https://www.360docs.net/doc/e74915099.html, 导入依赖操作系统模块的名字。下面是目前被注册的名字:'posix', 'nt', 'mac', 'os2', 'ce', 'java', 'riscos'. 下面的function和data项是和当前的进程和用户有关 os.environ 一个mapping对象表示环境。例如,environ['HOME'] ,表示的你自己home文件夹的路径(某些平台支持,windows不支持) ,它与C中的getenv("HOME")一致。 这个mapping对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。在这一次之后改变environment不 影响os.environ,除非直接修改os.environ. 注:putenv()不会直接改变os.environ,所以最好是修改os.environ 注:在一些平台上,包括FreeBSD和Mac OS X,修改environ会导致内存泄露。参考putenv()的系统文档。 如果没有提供putenv(),mapping的修改版本传递给合适的创建过程函数,将导致子过程使用一个修改的environment。 如果这个平台支持unsetenv()函数,你可以删除mapping中的项目。当从os.environ使用pop()或clear()删除一个项目时,unsetenv()会自动被调用(版本2.6)。

python常用模块

python 1.******************** 2.PY核心模块方法 3.******************** 4.os模块: 5. os.remove() 删除文件 6. os.unlink() 删除文件 7. os.rename() 重命名文件 8. os.listdir() 列出指定目录下所有文件 9. os.chdir() 改变当前工作目录 10. os.getcwd() 获取当前文件路径 11. os.mkdir() 新建目录 12. os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree()) 13. os.makedirs() 创建多级目录 14. os.removedirs() 删除多级目录 15. os.stat(file) 获取文件属性 16. os.chmod(file) 修改文件权限 17. os.utime(file) 修改文件时间戳 18. https://www.360docs.net/doc/e74915099.html,(file) 获取操作系统标识 19. os.system() 执行操作系统命令 20. os.execvp() 启动一个新进程 21. os.fork() 获取父进程ID,在子进程返回中返回0 22. os.execvp() 执行外部程序脚本(Uinx) 23. os.spawn() 执行外部程序脚本(Windows) 24. os.access(path, mode) 判断文件权限(详细参考cnblogs) 25. os.wait() 暂时未知 26.os.path模块: 27. os.path.split(filename) 将文件路径和文件名分割(会将最后一个目录作为文件名而分 离) 28. os.path.splitext(filename) 将文件路径和文件扩展名分割成一个元组 29. os.path.dirname(filename) 返回文件路径的目录部分 30. os.path.basename(filename) 返回文件路径的文件名部分 31. os.path.join(dirname,basename) 将文件路径和文件名凑成完整文件路径 32. os.path.abspath(name) 获得绝对路径 33. os.path.splitunc(path) 把路径分割为挂载点和文件名 34. os.path.normpath(path) 规范path字符串形式 35. os.path.exists() 判断文件或目录是否存在 36. os.path.isabs() 如果path是绝对路径,返回True 37. os.path.realpath(path) #返回path的真实路径 38. os.path.relpath(path[, start]) #从start开始计算相对路径 39. os.path.normcase(path) #转换path的大小写和斜杠 40. os.path.isdir() 判断name是不是一个目录,name不是目录就返回false 41. os.path.isfile() 判断name是不是一个文件,不存在返回false 42. os.path.islink() 判断文件是否连接文件,返回boolean 43. os.path.ismount() 指定路径是否存在且为一个挂载点,返回boolean 44. os.path.samefile() 是否相同路径的文件,返回boolean 45. os.path.getatime() 返回最近访问时间浮点型

python扩展模块

一、扩展模块 ■影像扩展模块PIL(单独安装) 影像扩展模块需安装PIL V1.16(与python版本对应) 安装完毕后调用方式为: import Image # 注意首字母大写!! im = Image.open(r"d:\000.jpg") # 注意路径字符串的处理 row, col = im.size # 获取影像的尺寸 ■声音引擎pyTTS扩展模块(单独安装) 下载并安装pytts 3.0(for python 2.5版),然后使用以下代码即可发声!! import pyTTS # 注意大小写 tts = pyTTS.Create() # 注意首字母大写 tts.Speak("Mission Finished!") # 注意首字母大写 ■Math库(系统自带) from math import * 1、包含两个常数,pi, e注意小写 2、包含常用的算术运算:floor, ceil, log, log10, exp, sqrt 3、包含常用的三角运算:sin, cos, tan, asin, acos, atan, degree, radians 注意:1、abs()为系统内置函数;2、numpy可以替代 math 实现所有功能!! ■Random库(系统自带) 1、整型随机数: randint(a, b) # 生成[a, b)的整型浮点数

randrange(a, b, s) # 生成[a, b)的整型浮点数 2、浮点随机数: random() # 生成[0, 1)的浮点随机数 uniform(a, b) # 生成[a, b)的浮点随机数 ■FTP库(系统自带) import ftplib 1、ftp服务器的连接 ftp = ftplib.FTP("192.168.209.205") # 连接影响服务器,注意FTP要大写 print ftp.login("sino", "801") # 使用用户名登录 2、路径操作 ftp.cwd("/aaa/bbb//") # 设置当前工作路径 ftp.mkd("/aaa/bbb/ccc//") # 创建路径 ftp.rmk("/aaa/bbb/ccc//") # 删除路径 ftp.pmd("/aaa/bbb//") # 返回当前路径名 3、文件操作 ftp.rename(...) # 文件更名 ftp.delete(...) # 文件删除 二、数组/矩阵处理 早期有个包叫Numeric,后来有人写了numarray替代它,很快有人写了个numpy把两个包都替换了,现在有人在Numpy的基础上写了个Scipy,这个咚咚不错,可以完成80%的Matlab工作!! numpy是python用于科学计算的扩展模块,numpy提供ndarray和ufunc两个对象,主要提供数组对

常用的PYTHON模块功能和下载地址

常用的python模块功能和下载地址 2009-07-1311:09 adodb:我们领导推荐的数据库连接组件 bsddb3:BerkeleyDB的连接组件 Cheetah-1.0:我比较喜欢这个版本的cheetah cherrypy:一个WEB framework ctypes:用来调用动态链接库 DBUtils:数据库连接池 django:一个WEB framework docutils:用来写文档的 dpkt:数据包的解包和组包 MySQLdb:连接MySQL数据库的 py2exe:用来生成windows可执行文件 Pylons:我们领导推荐的web framework pysqlite2:SQLite的连接组件 pythonwin:Python的Windows扩展 setuptools:无奈,PEAK的一套python包管理机制 sqlalchemy:数据库连接池 SQLObject:数据库连接池 twisted:巨无霸的网络编程框架 wxPython-2.6:因为需要保持与linux相同的版本才没用最新的,GUI编程框架pypcap:抓包的 python-dnet:控制网络安全的其他设备 pyevent:Python的事件支持 pydot:画图的,graphiz sendpkt:Python发包 simplejson:JSON的支持 DPKT:raw-scoket网络编程 Cx-oracle:连接oracle的好东东 Mechanize:爬虫连接网站常用 PIL:图像处理工具包 reportlab for PDF文件。 PyQt4for GUI界面 feedparser:rss解析 chardet:编码检测 scons:项目构建工具,写好了模板用起来还是很方便的 scapy:网络包构建分析框架,可编程的wireshark,有兴趣的google“Silver Needle in the Skype” pefile:windows pe文件解析器

Python中常用的模块用法分析

本文较为详细的讲述了Python中常用的模块,分享给大家便于大家查阅参考之用。具体如下: 1.内置模块(不用import就可以直接使用) 常用内置函数: help(obj) 在线帮助, obj可是任何类型 callable(obj) 查看一个obj是不是可以像函数一样调用 repr(obj) 得到obj的表示字符串,可以利用这个字符串eval重建该对象的一个拷贝 eval_r(str) 表示合法的python表达式,返回这个表达式 dir(obj) 查看obj的name space中可见的name hasattr(obj,name) 查看一个obj的name space中是否有name getattr(obj,name) 得到一个obj的name space中的一个name setattr(obj,name,value)为一个obj的name space中的一个name指向vale这个object delattr(obj,name) 从obj的name space中删除一个name vars(obj) 返回一个object的name space。用dictionary表示 locals() 返回一个局部name space,用dictionary表示 globals() 返回一个全局name space,用dictionary表示 type(obj) 查看一个obj的类型 isinstance(obj,cls) 查看obj是不是cls的instance issubclass(subcls,supcls) 查看subcls是不是supcls的子类 类型转换函数: chr(i) 把一个ASCII数值,变成字符 ord(i) 把一个字符或者unicode字符,变成ASCII数值

python中常用的模块的总结

a.定义: 模块用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质就是.py 结尾的python文件。(例如:文件名:,对应的模块名:test) 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有一个的文件) b.导入方法 import module_name import module_1的本质:是将module_1解释了一遍 也就是将module_1中的所有代码复制给了module_1 from module_name1 import name 本质是将module_name1中的name变量放到当前程序中运行一遍 所以调用的时候直接print(name)就可以打印出name变量的值 代码例子:自己写的模块,其他程序调用,如下所示: 模块代码: 复制代码 1 name = "dean" 2 def say_hello(): 3 print("hello %s" %name) 调用模块的python程序main代码如下:(切记调用模块的时候只需要import模块名不需要加.py) import module_1 #调用变量 print #调用模块中的方法

() 复制代码 这样运行main程序后的结果如下: 1 D:\python35\ D:/python培训/s14/day5/module_test/ 2 dean 3 hello dean 4 5 Process finished with exit code 0 import module_name1,module_name2 from module_name import *(这种方法不建议使用) from module_name import logger as log(别名的方法) c.导入模块的本质就是把python文件解释一遍 import module_name---->>的路径----> 导入包的本质就是执行该包下面的 关于导入包的一个代码例子: 新建一个package_test包,并在该包下面建立一个的python程序,在package包的同级目录建立一个的程序 test1的代码如下: 1 def test(): 2 print("int the test1") package_test包下的的代码如下: 1 #import test1 (理论上这样就可以但是在pycharm下测试必须用下面from .import test1) 2 from . import test1 3 print("in the init") p_test的代码如下: 1 import package_test #执行 2 这样运行p_test的结果:

Python 常用模块

Python 常用模块 Import “ ... “导入模块. 每次使用模块中的函数都要是定是哪个模块 From “ ... “ import * 导入模块内函数. 每次使用模块中的函数,直接使用函数即可 random 随机数 >>> im port ra ndom >>> print( ra ndom.ra ndint(1,10) ) 7 上面的代码会随机产生1到10(包含1和10)中的一个整数 ‘random.randint(1 , 50)’在1到50之间产生一个随机整数 ‘random.random()’0到1之间产生一个随机浮点数 ‘random.uniform(1 , 10)’0到10之间产生一个随机浮点数 ‘random.choice('wxyz!@#$%^&*')‘随机选取一个字符 ‘random.randrange(1,100,2) ‘随机生成从1到100间隔为2的整数 time 时间模块 >>> time.sleep(3) 上面的程序将使时间暂停3秒 ‘time.time( )’返回当前时间的时间戳(1970纪元后经过的浮点秒数)还未学习此函数turtle 绘图模块(海龟画图) >>> turtle.fd(100) 上面代码会在屏幕上让画笔向右移动100个像素并画出一条直线 fd( ) 画笔前进up( ) 画笔抬起 bk( ) 画笔后退down( ) 画笔落下 left( ) 画笔向左转ht( ) 隐藏画笔 right( ) 画笔向右转st( ) 显示画笔 seth( ) 画笔方向(旋转画布)pensize( ) 指定画笔大小 home( ) 回到画布中心pencolor( ) 设置画笔颜色 goto( ) 画笔移动到坐标点位circle( ) 画圆 reset( ) 清除画布内容dot( ) 指定直径和颜色画一个圆点

Python常用内建模块——学习笔记

1、datetime:Python处理日期和时间的标准库 引入方法:from datetime import datetime。 第一个datetime是模块,第二个datetime是类。如果仅导入import datetime,则必须引用全名datetime.datetime。 ?获取当前日期和时间:datetime.now() ?加减当前时间:now + timedelta(days=2, hours=12) datetime->str datetime->UTC时间 时区转化 存储datetime,最佳方法是将其转换为timestamp再存储,因为timestamp的值与时区完全无关。 2、collections: Python内建的一个集合模块,提供了许多有用的集合类。 ? ?

?defaultdict:使用dict时,如果引用的Key不存在,就会抛出KeyError。如果 ? 可以实现一个FIFO(先进先出)的dict,当容量超出限制时,先删除最早添加的 ? 3、base64 : 用64个字符来表示任意二进制数据. Base64是一种任意二进制到 文本字符串的编码方法,常用于在URL、Cookie、网页中传输少量二进制数据。 4、struct:解决bytes和其他二进制数据类型的转换。 Windows的位图文件(.bmp)是一种非常简单的文件格式,可以用struct分析出其文件头结构。 两个字节:'BM'表示Windows位图,'BA'表示OS/2位图; 一个4字节整数:表示位图大小; 一个4字节整数:保留位,始终为0; 一个4字节整数:实际图像的偏移量;

python 常用函数及模块

python 常用函数及模块 python常用函数及模块2010-07-08 15:48常用函数 abs(x) abs()返回一个数字的绝对值。如果给出复数,返回值就是该复数的模。 print abs(-100)100 print abs(1+2j)2.2360679775 callable(object) callable()函数用于测试对象是否可调用,如果可以则返回1(真);否则 返回0(假)。可调用对象包括函数、方法、代码对象、类和已经定义了"调用" 方法的类实例。 a="123"print callable(a)0 print callable(chr)1cmp(x,y) cmp()函数比较x和y两个对象,并根据比较结果返回一个整数,如果x y,则返回-1;如果x y,则返回1,如果x==y则返回0。 a=1 b=2 c=2 print cmp(a,b)-1 print cmp(b,a)1 print cmp(b,c)0divmod(x,y) divmod(x,y)函数完成除法运算,返回商和余数。 divmod(10,3)(3,1)divmod(9,3)(3,0)isinstance(object,class-or-type- or-tuple)-bool 测试对象类型 a='isinstance test'b=1234 isinstance(a,str)True isinstance(a,int)False isinstance(b,str)False isinstance(b,int)Truelen(object)-integer len()函数返回字符串和序列的长度。 len("aa")2 len([1,2])2pow(x,y[,z]) pow()函数返回以x为底,y为指数的幂。如果给出z值,该函数就计算x

用Python中的turtle模块绘图(11.10更新)

用Python中的turtle模块绘图 简介:turtle是一个简单的绘图工具。它提供了一个海龟,你可以把它理解为一个机器人,只听得懂有限的指令。 1. 在文件头写上如下行,这能让我们在语句中插入中文 # -*- coding: utf-8 -*- 2. 用import turtle导入turtle库 3. 绘图窗口的原点(0,0)在正中间。默认情况下,海龟向正右方移动。 4. 操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令 (1)运动命令: (2)画笔控制命令: 5. 几个例子 1)画一个边长为60的三角形 # -*- coding: utf-8 -*-

import turtle a=60 turtle.forward(a) turtle.left(120) turtle.forward(a) turtle.left(120) turtle.forward(a) turtle.left(120) 2)画一个边长为60的正方形,并填充为红色,边框为蓝色 # -*- coding: utf-8 -*- import turtle turtle.reset() a = 60 turtle.fillcolor("red") turtle.pencolor("blue") turtle.pensize(10) turtle.fill(True) turtle.left(90) turtle.forward(a) turtle.left(90) turtle.forward(a) turtle.left(90) turtle.forward(a) turtle.left(90) turtle.forward(a) turtle.fill(False) 6. 练习: 1)画一个五边形 2)画一个六边形 3)任意输入一个正整数m(>=3),画一个多边形(m 条边) 4)画一个五角星,如下所示,注意填充为红色 5)画一个中国象棋棋盘,如下图所示,其中汉字不必显示出来: 6)绘制奥运五环图,其中五种颜色分别为蓝色、黑色、红色、黄色和绿色。注意根据实际效果调整圆形的大小和位置。

python_re模块

简介 Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式。Python 1.5之前版本则是通过 regex 模块提供 Emacs 风格的模式。Emacs 风格模式可读性稍差些,而且功能也不强,因此编写新代码时尽量不要再使用regex 模块,当然偶尔你还是可能在老代码里发现其踪影。 就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现。使用这个小型语言,你可以为想要匹配的相应字符串集指定规则;该字符串集可能包含英文语句、e-mail地址、TeX命令或任何你想搞定的东西。然后你可以问诸如“这个字符串匹配该模式吗?”或“在这个字符串中是否有部分匹配该模式呢?”。你也可以使用 RE 以各种方式来修改或分割字符串。 正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。在高级用法中,也许还要仔细留意引擎是如何执行给定 RE ,如何以特定方式编写 RE 以令生产的字节码运行速度更快。本文并不涉及优化,因为那要求你已充分掌握了匹配引擎的内部机制。 正则表达式语言相对小型和受限(功能有限),因此并非所有字符串处理都能用正则表达式完成。当然也有些任务可以用正则表达式完成,不过最终表达式会变得异常复杂。碰到这些情形时,编写 Python 代码进行处理可能反而更好;尽管Python 代码比一个精巧的正则表达式要慢些,但它更易理解。 [编辑]简单模式 我们将从最简单的正则表达式学习开始。由于正则表达式常用于字符串操作,那我们就从最常见的任务:字符匹配下手。 有关正则表达式底层的计算机科学上的详细解释(确定性和非确定性有限自动机),你可以查阅编写编译器相关的任何教科书。 字符匹配 大多数字母和字符一般都会和自身匹配。例如,正则表达式 test 会和字符串“test”完全匹配。(你也可以使用大小写不敏感模式,它还能让这个 RE 匹配“Test”或“TEST”;稍后会有更多解释。)

python_os模块常用命令

python编程时,经常和文件、目录打交道,这是就离不了os模块。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令 1. https://www.360docs.net/doc/e74915099.html,——判断现在正在实用的平台,Windows 返回‘nt'; Linux 返回’posix' 2. os.getcwd()——得到当前工作的目录。 3. os.listdir()——指定所有目录下所有的文件和目录名。例: 以列表的形式全部列举出来,其中没有区分目录和文件。 4. os.remove()——删除指定文件 5. os.rmdir()——删除指定目录 6. os.mkdir()——创建目录 注意:这样只能建立一层,要想递归建立可用:os.makedirs() 7. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False 8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。 例: 9. os.path.exists()——检验指定的对象是否存在。是True,否则False.例: 10. os.path.split()——返回路径的目录和文件名。例: 此处只是把前后两部分分开而已。就是找最后一个'/'。看例子: 11. os.getcwd()——获得当前工作的目录(get current work dir) 12. os.system()——执行shell命令。例:

注意:此处运行shell命令时,如果要调用python之前的变量,可以用如下方式:var=123 os.environ['var']=str(var) //注意此处[]内得是“字符串” os.system('echo $var') 13. os.chdir()——改变目录到指定目录 14. os.path.getsize()——获得文件的大小,如果为目录,返回0 15. os.path.abspath()——获得绝对路径。例: 16. os.path.join(path, name)——连接目录和文件名。例: 17.os.path.basename(path)——返回文件名 18. os.path.dirname(path)——返回文件路径 19. 获得程序所在的实际目录 import os import sys if__name__ == "__main__": print os.path.realpath(sys.argv[0]) print os.path.split(os.path.realpath(sys.argv[0])) print os.path.split(os.path.realpath(sys.argv[0]))[0] 执行结果 1 2 /home/jihite/ftp/del.py ('/home/jihite/ftp', 'del.py')

相关主题
相关文档
最新文档