——模块初识——
python的强大之处在于它有非常丰富和强大的标准库和第三方库。标准库是指不需要安装可以直接调用的库,第三方库是需要导入的。
下面我们初识两个标准库:sys库和os库。
——sys模块——
①sys.path的功能:打印环境变量。
几点说明:
(1)使用库下面的某个功能的格式:XXX.YYY(例sys.path);
(2)库在系统里是存为文件的,找这个文件的路径为先找当下的目录,当下的目录没有的情况下,再到全局环境变量中去找,所以这个程序先找当下的目录,模块名就为sys,相当于调用的是自己,而其下面没有path的功能,所以一般情况下会报错;
(3)解决办法:模块名不能跟调用的库名一样。
把文件的名字改为sys_module,我们来看一下程序结果:
这些路径是干什么的呢?
Python中也有一个全局环境变量,存的是一些路径,作用是在导入一些库或者自己进行一些文件调用的时候,就会到那些路径里面去寻找,例如导入sys库,sys库必存在这些路径的其中之一。
标准库的一般路径为:
F:\\python343\\lib
第三方库的一般路径为:
F:\\python343\\lib\\site-packages
②sys.argv的功能:打印相对路径
但是我们可以看到,Pycharm打印的是绝对路径,原因是:Pycharm在写自己脚本的时候,写的就是绝对路径。
我们可以转到命令行里去执行这个文件,看一下有什么结果。
可以看到,在命令窗口执行的时候,打印的是相对路径(文件的名字)。sys.argv实际的功能应该就是打印相对路径。
后面跟着参数同样可以把参数打印出来。我们经常会传很多参数,然后根据参数的输入值再去做相应的操作,我们就是通过这个模块去读到文件中的参数的。
sys.argv能够打印参数,并且可以把参数的值给取出来。
比如说我们想取“2”这个参数。位置是从文件名开始数,并且是从0开始数,所以“2”的位置是2。
执行结果为:把“2”取了出来。
sys.argv[2]取的是第三个位置的参数:
从0开始计数,sys_module.py =[0],1=[1],2=[2],3=[3]。
——os模块——
os库是跟操作系统交互用的库。
①os.system(“comand”) :调用系统的一条命令。该函数返回命令执行结果的返回值。
比如dir是查看文件目录。
结果确实返回了文件列表。
乱码出现的原因:Windows的输出编码跟utf8编码不是一个编码方法。(不用在意)
现在我们将os.system的输出结果赋给一个变量cmd_resort,然后打印这个变量。
将os.system的输出结果赋给一个变量cmd_resort,然后打印这个变量,发现输出结果为0,而不是把文件列表存起来,是因为执行os.system这个命令,输出结果直接显示在屏幕上,显示完就结束了,而这个0是是否正确执行这条命令的一个返回值(一般正确执行返回 0,执行出错返回1)。
所以,os.system只执行命令,不保存结果。
②再看另一个函数 os.popen()。
输出的结果为: <os._wrap_close object at 0x0000000002C2C198>,打印的是一个内存对象的地址 。
要想输出为文件列表,需要到这个地址中读取内容。在后面加.read()
这样文件目录就清晰的显示出来了。
③os.mkdir()的功能是:创建新的目录。
在列表中可以看到结果。
网友评论