python之导入os
来源:互联网 发布:手机网络gsm cdma lte 编辑:程序博客网 时间:2024/06/06 12:29
OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作。os模块包含普遍的操作系统功能,与具体的平台无关。
1. import 实际上是python虚拟机把当前的globals()和locals()传进__builtins__.__import__内置函数了,所以实际上干活的是那个__import__函数!
2. import对命名空间的影响
1)如果是python的内置模块,例如os模块。这些模块是随着python虚拟机启动而加载进来的,但是并没有暴露出来。我们可以通过dir()命令查看当前命名空间,可以看到,并没有看到像os,sys等模块。
- >>> dir()
- ['__builtins__', '__doc__', '__name__']
但是如果执行import sys后,那就有了。
- >>> import sys
- >>> dir()
- ['__builtins__', '__doc__', '__name__', 'sys']
通过sys.modules这个字典(key: 模块名;value: 模块的路径),我们可以查看模块的信息。再通过id函数,我们可以知道两个sys模块是否为同一个模块,
- >>> id(sys)
- 135708788
- >>> id(sys.modules['sys'])
- 135708788
2)import只影响当前模块的命名空间
例如a.py里面有一句import bb, 而bb.py里面有一句import os,那么可以这样查看
- >>> import a
- >>> dir()
- ['__builtins__', '__doc__', '__name__', 'a']
- >>> dir(a)
- ['__builtins__', '__doc__', '__file__', '__name__', 'bb']
- >>> dir(a.bb)
- ['__builtins__', '__doc__', '__file__', '__name__', 'os']
3). import package
合法的package必须含有一个__init__.py文件,package可以包含0个或多个module(py文件)。
常用的命令:
1. os.name——判断现在正在实用的平台,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=123os.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. 获得程序所在的实际目录
os.path.realpath(sys.argv[0])
os.path.split(os.path.realpath(sys.argv[0]))os.path.split(os.path.realpath(sys.argv[0]))[0]
- python之导入os
- PYTHON模块之os
- python之os类库
- python 之 os
- python之os库
- python之os模块
- python之os
- Python 模块之os
- Python模块之os
- Python之os库
- Python 之os模块
- Python 之os.walk()
- python之os模块
- python 之os
- python之os模块
- python之os.path
- python之os库
- python模块之os和os.path
- 24 exdata架构探讨--优化主题系列
- mysql查询报错: ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_group_by
- Linux free命令使用及解析
- vue webpack环境搭建
- C语言指针基础预习
- python之导入os
- 计蒜客 跳跃游戏二
- RxJava 中的map与flatMap
- Java时间串获取
- python 爬虫
- 【笔记】《WebGL编程指南》学习-第8章光照(3-点光源光)
- python 字符串操作
- 关于(最长链)的模板题
- java md5加密