os在python中的意思,python中os的用法
导入:
1.导入实际上是python虚拟机把当前的globals()和locals()传入_ _ builds _ _。__import__内置函数,所以实际上是_ _ import _ _函数起作用!
2.导入对命名空间的影响
(1)如果是python的内置模块,比如os模块。这些模块是在python虚拟机启动时加载的,但并不公开。我们可以通过dir()命令查看当前的名称空间。
Python代码
目录()
[__builtins__ , __doc__ , __name__]
如你所见,你看不到像os和sys这样的模块。
但是如果我们执行import sys,我们就会得到它。
Python代码
导入系统
目录()
[__builtins__ , __doc__ , __name__ , sys]
通过字典sys.modules(键:模块名;值:模块的路径),我们可以查看模块的信息。通过id函数,我们可以知道这两个sys模块是否是同一个模块,如下:
Python代码
id(系统)
135708788
id(sys.modules[sys])
135708788
(2)导入只影响当前模块的命名空间
比如a.py里有导入bb,bb.py里有导入os,可以这样看。
Python代码
导入a
目录()
[__builtins__ , __doc__ , __name__ , a]
导演(a)
[__builtins__ , __doc__ , __file__ , __name__ , bb]
总监(a.bb)
[__builtins__ , __doc__ , __file__ , __name__ , os]
3.导入包
第一个合法软件包必须包含__init__。py文件,包可以包含0个或多个模块(py文件)。假设aa文件夹下有test.py文件和bb文件夹,bb文件夹下有c.py。那么导入aa.bb.c时,对命名空间有什么影响呢?
Python代码
导入aa.bb.c
目录()
[__builtins__ , __doc__ , __name__ , aa]
导入系统
对于sys.modules.items()中的k,v:
.打印k, \t ,v
.
嗜酒者互诫协会
复制注册
__main__
位置
__内置_ _
编码
编码.编码无
aa.bb.c
posixpath
全局变量
编码.编解码器无
编码. latin_1
os.path
_编解码器
斯达
zipimport
警告信息
编码.类型无
户词典
[计]系统复制命令(system的简写)
编解码器
阅读线
类型
_类型
信号
线缓存
可移植性操作系统接口
编码.别名
aa.bb
例外
骨
可以看到只是import aa.bb.c的一句话,但是所有的aa,aa.bb,aabb.c都加到了当前的命名空间。这是为了防止重名,因为如果不加前缀,其他包中重名的模块是无法识别的!原理是python现在在当前命名空间中寻找符号 aa 对应的对象,然后在其命名空间中寻找符号 bb ,再在bb的属性(命名空间)中寻找C。所以AA和bb都要装。但是,这些只加载一次。不信可以试试导入aa.bb.d之类的模块,提前在aa文件夹里。
在__init__中输入print‘hello’。py文件。只有第一次导入aa.bb.c时才会输出Hello!
4 .来源和进口
1)例如:从aa导入bb
Python代码
从aa进口bb
目录()
[__builtins__ , __doc__ , __name__ , bb]
导入系统
sys.modules[bb]
回溯(最近一次呼叫):
文件“”中的第1行
关键错误:“bb”
sys.modules[aa.bb]
bb
aa.bb
回溯(最近一次呼叫):
文件“”中的第1行
名称错误:未定义名称“aa”
From import只是将导入后的名称引入到命名空间中,方便我们使用,但实际上里面是有模块名称的。导入.如同.是一样的。
2)来自.导入*
不推荐这种形式的导入,因为容易污染命名空间。但是你也可以发现。
首先,如果文件__init__。包中的py没有声明__all__的值,从包*中导入是没有用的。因为python源代码中的import_from_all函数估计会读取__all__的值然后导入。
这种形式的导入如何影响名称空间?
答案和进口aa.bb.c一样.
操作系统模块:
使用64位环境的fedora 18,python版本为python 2.7.3。
1.os.getcwd()函数
函数:获取当前目录,python的工作目的
导入操作系统
pwd=os.getcwd()
打印(密码)
2.os.name函数
功能:获取当前使用的操作系统(信息不够详细)
其中“nt”是windows,“POSIX”是linux或unix
导入操作系统
name=os.name
if name==posix :
打印(“这是Linux或Unix”)
elif name==nt :
打印(“这是windows”)
否则:
打印(“这是其他系统”)
3.操作系统.移除()函数
功能:删除指定的文件。
例如:删除file.txt文件
导入操作系统
os.remove(file.txt )
4.os.removedirs()函数
功能:删除指定的目录
删除文件目录
导入操作系统
os.removedirs(file )
5.os.system()函数
功能:运行shell命令
例如:执行ls -a 1.txt命令
导入操作系统
操作系统( ls -a 1.txt )
6.os.mkdir()函数
功能:创建一个新目录
创建一个文件目录。
导入操作系统
os.mkdir(文件)
7.os.chdir()函数
功能:将当前路径更改为指定路径。
我将从当前路径转到filepath指定的路径。
导入操作系统
filepath=/home
pwd=os.getcwd()
打印(密码)
os.chdir(文件路径)
pwd=os.getcwd()
打印(密码)
8.os.listdir()函数
函数:返回指定目录下的所有目录和文件。
列出当前目录中的所有文件和目录。
导入操作系统
pwd=os.getcwd()
name=os.listdir(pwd)
对于名称中的文件名:
打印(文件名)
下面是我自己整理的一些视频分享我的Python知识,希望对你有帮助~2021最新版python零基础高强度7天快速入门熟练度_ cheers ~-哔哩哔哩www.bilibili.com2021最新版python爬虫7天速成课程(附代码课件)_ 12 1
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。