7

作者: 可爱叽叽 | 来源:发表于2018-12-04 16:02 被阅读0次

    ——模块初识——

    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()的功能是:创建新的目录。

    在列表中可以看到结果。

    相关文章

      网友评论

          本文标题:7

          本文链接:https://www.haomeiwen.com/subject/dfcmcqtx.html