python教材目录,python 目录

python在安装的时候,就自带了很多模块,我们把这些模块称之为标准库,其中,有一个是使用频率比较高的,就是 os 。这个库中方法和属性众多,有兴趣的看官可以参考官方文档:https://docs.python.org/2/library/os.html,或者在交互模式中,用dir(os)看一看。

>>> import os #这个动作很重要,不能缺少

>>> dir(os)

['EX_CANTCREAT', 'EX_CONFIG', 'EX_DATAERR', 'EX_IOERR', 'EX_NOHOST', 'EX_NOINPUT', 'EX_NOPERM', 'EX_NOUSER', 'EX_OK', 'EX_OSERR', 'EX_OSFILE', 'EX_PROTOCOL', 'EX_SOFTWARE', 'EX_TEMPFAIL', 'EX_UNAVAILABLE', 'EX_USAGE', 'F_OK', 'NGROUPS_MAX', 'O_APPEND', 'O_ASYNC', 'O_CREAT', 'O_DIRECT', 'O_DIRECTORY', 'O_DSYNC', 'O_EXCL', 'O_LARGEFILE', 'O_NDELAY', 'O_NOATIME', 'O_NOCTTY', 'O_NOFOLLOW', 'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_RSYNC', 'O_SYNC', 'O_TRUNC', 'O_WRONLY', 'P_NOWAIT', 'P_NOWAITO', 'P_WAIT', 'R_OK', 'SEEK_CUR', 'SEEK_END', 'SEEK_SET', 'TMP_MAX', 'UserDict', 'WCONTINUED', 'WCOREDUMP', 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', 'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED', 'W_OK', 'X_OK', '_Environ', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_copy_reg', '_execvpe', '_exists', '_exit', '_get_exports_list', '_make_stat_result', '_make_statvfs_result', '_pickle_stat_result', '_pickle_statvfs_result', '_spawnvef', 'abort', 'access', 'altsep', 'chdir', 'chmod', 'chown', 'chroot', 'close', 'closerange', 'confstr', 'confstr_names', 'ctermid', 'curdir', 'defpath', 'devnull', 'dup', 'dup2', 'environ', 'errno', 'error', 'execl', 'execle', 'execlp', 'execlpe', 'execv', 'execve', 'execvp', 'execvpe', 'extsep', 'fchdir', 'fchmod', 'fchown', 'fdatasync', 'fdopen', 'fork', 'forkpty', 'fpathconf', 'fstat', 'fstatvfs', 'fsync', 'ftruncate', 'getcwd', 'getcwdu', 'getegid', 'getenv', 'geteuid', 'getgid', 'getgroups', 'getloadavg', 'getlogin', 'getpgid', 'getpgrp', 'getpid', 'getppid', 'getresgid', 'getresuid', 'getsid', 'getuid', 'initgroups', 'isatty', 'kill', 'killpg', 'lchown', 'linesep', 'link', 'listdir', 'lseek', 'lstat', 'major', 'makedev', 'makedirs', 'minor', 'mkdir', 'mkfifo', 'mknod', 'name', 'nice', 'open', 'openpty', 'pardir', 'path', 'pathconf', 'pathconf_names', 'pathsep', 'pipe', 'popen', 'popen2', 'popen3', 'popen4', 'putenv', 'read', 'readlink', 'remove', 'removedirs', 'rename', 'renames', 'rmdir', 'sep', 'setegid', 'seteuid', 'setgid', 'setgroups', 'setpgid', 'setpgrp', 'setregid', 'setresgid', 'setresuid', 'setreuid', 'setsid', 'setuid', 'spawnl', 'spawnle', 'spawnlp', 'spawnlpe', 'spawnv', 'spawnve', 'spawnvp', 'spawnvpe', 'stat', 'stat_float_times', 'stat_result', 'statvfs', 'statvfs_result', 'strerror', 'symlink', 'sys', 'sysconf', 'sysconf_names', 'system', 'tcgetpgrp', 'tcsetpgrp', 'tempnam', 'times', 'tmpfile', 'tmpnam', 'ttyname', 'umask', 'uname', 'unlink', 'unsetenv', 'urandom', 'utime', 'wait', 'wait3', 'wait4', 'waitpid', 'walk', 'write']

在这么多的东西中,本讲只关注os.path,因为它和前面已经讲过的文件操作进行配合,就能够随心所欲操作各个地方的文件了

关于os.path的属性也不少,依然可以用dir(os.path)查看:

>>> dir(os.path)

['__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '_joinrealpath', '_unicode', '_varprog', 'abspath', 'altsep', 'basename', 'commonprefix', 'curdir', 'defpath', 'devnull', 'dirname', 'exists', 'expanduser', 'expandvars', 'extsep', 'genericpath', 'getatime', 'getctime', 'getmtime', 'getsize', 'isabs', 'isdir', 'isfile', 'islink', 'ismount', 'join', 'lexists', 'normcase', 'normpath', 'os', 'pardir', 'pathsep', 'realpath', 'relpath', 'samefile', 'sameopenfile', 'samestat', 'sep', 'split', 'splitdrive', 'splitext', 'stat', 'supports_unicode_filenames', 'sys', 'walk', 'warnings']

这么多属性,可以用help()逐个查看有关信息,并了解其使用方法。下面列出常见的几个使用方法。就像这样:

>>> help(os.path.split)

split(p)

Split a pathname. Returns tuple "(head, tail)" where "tail" is

everything after the final slash. Either part may be empty.

以下将一些典型举例说明:

特别说明,下面的所有操作,均是进入到如下的目录中进行的。

$ pwd

/home/hiekay/pythonWorkSpace

$ python

>>>

文件的绝对路径

>>> import os.path

>>> os.path.abspath("1.py")

'/home/hiekay/pythonWorkSpace/1.py'

文件 1.py 是真实存在上述路径中的,得到了该文件的绝对路径。但是,如果随便提供一个不在这个目录中的文件,又如何?

>>> os.path.isfile("1.py")

True

>>> os.path.isfile("2.py")

False

>>> os.path.abspath("2.py")

'/home/hiekay/pythonWorkSpace/2.py'

os.path.isfile(path),可以判断path中是否是文件,其实是判断在该路径中,是否存在那个文件,如果存在则返回True,否则False。上面的操作发现 2222.py 这个文件在当前目录下是不存在的,但是,用os.path.abspaht("2222.py")能够返回一个绝对路径并带有这个不存在的文件的文件名。这里不妨理解为,如果要建立这个文件,它即将被放在那个位置。

分开目录和文件名

>>> pn = os.path.abspath("1.py")

>>> pn

'/home/hiekay/pythonWorkSpace/1.py'

>>> os.path.split(pn)

('/home/hiekay/pythonWorkSpace', '1.py')

>>> path, filename = os.path.split(pn)[0], os.path.split(pn)[1]

>>> path

'/home/hiekay/pythonWorkSpace'

>>> filename

'1.py'

os.paht.split(),参数是目录加文件名,就可以将路径和文件名分开。其实,我看这个功能不是很智能,你看这样

>>> os.path.split("/home/hiekay")

('/home', 'hiekay')

>>> os.path.split("/home/hiekay/")

('/home/hiekay', '')

它就是将最后一组认为是文件名了,即最后一个/后面的就是文件名,所以第二个实验中,文件名是空了。是不是有点傻呢?

同样,参数中的文件或者目录,不一定是你的电脑中真实存在的,请看:

>>> os.path.split("/foo/python/hiekay/git.git")

('/foo/python/hiekay', 'git.git')

只要符合目录书写结构,就可以分解了。

有另外两个属性,是os.path.split()的分别执行,即可以分别获得路径和文件名,这样让操作更简单了。

>>> os.path.dirname("/foo/python/hiekay/git.git")

'/foo/python/hiekay'

>>> os.path.basename("foo/python/hiekay/git.git")

'git.git'

判断

前面稍微提到了os.path.isfile()可以用来判断一个文件是否存在,那么判断目录路径是否存在,可否?可:

>>> os.path.exists("/foo/python/hiekay")

False

>>> os.path.exists("/home/hiekay/Documents")

True

判断相关的属性还有:

os.path.isabs(path):判断path是否为绝对路径

os.paht.isdir(path):判断path是否为存在的目录

组合路径

将两个或多个对象组合起来,是常见的事情,那么如何将多个路径组合呢?如下:

>>> os.path.join("/home/python","/BasicsPython","2.md")

'/BasicsPython/2.md'

特别提醒,这个属性的返回值中,将第一个绝对路径忽略。

>>> os.path.join("/","/home/hiekay","learnpython.md")

'/home/hiekay/learnpython.md'

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332693.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

quartus状态机生成_生成器作为(快速失败)状态机

quartus状态机生成这个想法是几周前在设计“生成器”类时想到的,该类必须将输入发送给封装的Writer 。 实际上,它是Builder模式。 但是,规则有些复杂,用户必须以某种方式调用add...()方法,才能正确生成输出。 不用说&…

除法算式的正确表述

12 4 3,这个关系表达式叫作除法算式,表述为 12 除以 4 等于 3;也可以表述为 4 除 12 等于 3。

elk 日志管理_具有ELK的APIGEE API网关日志管理(弹性搜索,Logstash和Kibana)

elk 日志管理在本文中,我们将看到如何使用 Elastic Search , Logstash 和 Kibana 管理APIGEE API网关生成的日志 。 下图突出显示了日志数据如何流经ELK堆栈以进行数据可视化和监视。 作为API网关的一部分,我们将使用MessageLogging策略在代…

php输出分组,ThinkPHP 项目分组中的模板输出

模板输出启用了项目分组后,模板输出路径同原来相比有一些差别。默认输出当使用 $this->display() 指令输出默认模板时,输出的模板路径加上了分组名:TPL/模板默认主题/分组名/模块名/操作名模板后缀// 例子:Tpl/default/Admin/U…

平方根/立方根/根式

文章目录平方根/二次方根/二次根立方根/三次方根/三次根平方根/二次方根/二次根 如果一个正数 x 的平方等于 a,即 x2x^2x2 a,那么这个正数 x 就叫 做 a 的算术平方根(算术二次方根),记作 a\sqrt{a}a​ ,读…

使用junit进行单元测试_使用JUnit5对DynamoDB应用程序进行单元测试

使用junit进行单元测试在上一篇文章中,我描述了新的Java 2 AWS开发工具包,它为调用不同AWS服务的Java客户端提供了非阻塞IO支持。 在本文中,我将介绍一种用于单元测试AWS DynamoDB调用的方法。 有几种方法可以启动DynamoDB的本地版本– 1. …

h5jumppage.php,h5使用webviewjsbridge跟原生交互,点击标签调用2次webview

问题描述使用vue循环一个标签列表,点击列表里面的标签,调用app给的跳转页面的方法,第一次跳转页面后,点击返回按钮回到本页面,再次点击列表里面的标签,调用了2次webview,只有第一次点击的时候正…

Servlet的学习笔记

文章目录基本介绍入门步骤执行原理Servlet 生命周期线程安全问题解决方式Servlet 注解配置Servlet 继承与实现体系基本介绍 servlet,server applet,服务器端小程序 servlet 是一个接口,定义了 Java 类被浏览器访问(tomcat 识别&…

spring框架介绍_Spring框架介绍

spring框架介绍这是Spring框架和Spring核心概念的简介。 在本教程中,我们将介绍Spring Framework的主要优点和功能。 在随后的教程中,我们将学习有关Spring和Spring Boot的更多信息。 总览 我们知道, Spring框架是Java开发人员中最受欢迎的应…

Java注解(Annotation)的学习

文章目录注解定义作用分类API 文档注解JDK 预定义的注解自定义注解注解的格式注解的本质注解的属性属性的返回值类型属性的特点属性的赋值元注解TargetRetentionDocumentedInherited解析注解总结注解定义 注解( Annotation),也叫元数据。一种代码级别的说明。它是 …

oracle数据库硬恢复,Oracle数据库的可恢复性设置

整理自《Oracle 11g OCP/OCA 认证指南》001为了保证数据库的最大可恢复性,必须多路复用控制文件;必须多路复用联机重做日志;必须以归档日志模式运行数据库,并多路复用归档日志文件;最后必须作常规备份。002 保护控制文…

rest api如何创建_创建一个安全的Spring REST API

rest api如何创建“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 “如果有用,它将被修改。” 那些智慧的话来自我的QA老师…

IntelliJ IDEA 的 Build Project/Build Module/构建项目/构建模块/构建工程

文章目录Build ModuleRebuild ModuleBuild Module,构建模块。所谓“构建”,就是“构建”包及字节码文件,其实就是编译源码文件的动作了。所以 Build Module,就是把 src 目录的源代码文件以及 resources 下的资源文件,构…

oracle 修改nls_characterset,ORACLE NLS_CHARACTERSET字符集的更改

ORACLE NLS_CHARACTERSET字符集的更改      数据库创建以后,如果需要修改字符集,通常需要重建数据库,通过导入导出的方式来转换。      我们也可以通过以下方式更改      ALTER DATABASE CHARACTER SET      注意&#xff1a…

commons cli_从Commons CLI迁移到picocli

commons cli最初于2002年发布的Apache Commons CLI可能是使用最广泛的Java命令行解析器,但是它的API显示了它的年龄。 寻找具有最少样板代码的现代方法的应用可能对picocli感兴趣。 为什么要花麻烦的钱进行迁移,以及如何将基于Commons CLI的应用程序迁移…

乘方(幂)的运算法则/规则

文章目录乘方的定义运算法则正分数指数幂法则负分数指数幂法则同底数幂法则负整数指数幂法则乘方的定义 求相同因数的积叫做乘方。乘方运算的结果叫幂。 当 ana^nan 看作 a 的 n 次乘方的结果时,也可读作“a 的 n 次幂”或“ a 的 n 次方”。其中,a 叫…

php响应式布局,响应式布局之弹性布局的介绍

响应式布局的实现是前端工程中一个非常大的跨越,它非常灵活的可塑造性使得同一个网站能在不同的终端设备上展现出不同的活力。就今天这个机会,我想与大家分享并探讨一些常用来实现响应式布局方法中的弹性布局。弹性布局是一种十分方便的,只需…

qt弹簧教程_弹簧启动执行器教程

qt弹簧教程朋友您好,在本教程中,我们将学习弹簧执行器及其所有帮助。 1.什么是弹簧执行器? 2.如何在Maven项目或Gradle项目中添加弹簧执行器? 3.创建一个具有Spring Actuator依赖项的Spring Boot项目。 4.使用弹簧执行器端点监…

驾驶证遗失如何补发

第六十三条机动车驾驶证遗失的,机动车驾驶人应当向机动车驾驶证核发地或者核发地以外的车辆管理所申请补发。申请时应当填写申请表,并提交以下证明、凭证: (一)机动车驾驶人的身份证明; (二&…

两列模糊对比 oracle,excel 模糊比对两列数据并将比对结果显示出来 | excel表格两列数据模糊对比...

excel2016如何将两列完全不一样的数据进行模糊对比?B2单元格输入公式IF(ISNUMBER(FIND(LEFT(A2,3),PHONETIC(G$2:G$8))),"","非类")下拉。 选中A、B列排可出非类似值。对G列的处理也是相同办法,修改一下公式中的单元格或区域引用即可…