Python模块

Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎想实现的任何功能都有相应的Python库支持

 sys 模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数. 写模块时不要让名字与自带模块冲突

[root@VM_0_15_centos gan]# cat sys0.py 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print(sys.argv)

[root@VM_0_15_centos gan]# python sys0.py one
['sys0.py', 'one']
[root@VM_0_15_centos gan]# python sys0.py one %
['sys0.py', 'one', '%']  
[root@VM_0_15_centos gan]# cat sys0.py 
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print(sys.argv)
print(sys.argv[1])
[root@VM_0_15_centos gan]# python sys0.py k 4 nn
['sys0.py', 'k', '4', 'nn']
k

 

Python也有自己的全局变量, 下面为基本存放路径.

[root@VM_0_15_centos gan]# cat sys2.py 
#!/usr/bin/env python
import sys
print(sys.path)

[root@VM_0_15_centos gan]# python sys2.py
['/PY/gan', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages']

/usr/local/lib/python3.6/ ##### 标准库位置
/usr/local/lib/python3.6/site-packages/   #####  Python一般的三方库都会存放在这里, Django一般自动放在这

 

os 模块

[root@VM_0_15_centos gan]# cat os0.py
#!/usr/bin/env python
import os 
import sys
os.system("df -h")
print(  )
os.system(' '.join(sys.argv[1:]))    ##把用户的输入的参数当作一条命令交给os.system来执行
[root@VM_0_15_centos gan]# python os0.py  w                ###  ls ==> wind  dir
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        50G  2.2G   45G   5% /

 13:59:47 up 24 days, 19:03,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    111.198.29.223   13:57    0.00s  0.02s  0.01s python os0.py w
[root@VM_0_15_centos gan]# python os0.py echo "123"
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 2.2G 45G 5% /

123

 

 

[root@VM_0_15_centos gan]# cat os1.py
#!/usr/bin/env python
import os
cmd_res = os.system("ls")     ###### 执行命令, 不保存结果. 
print("cmd result",cmd_res)
[root@VM_0_15_centos gan]# python os1.py
100.py       def2.py    function2.py  globals.py     return4.py    sys2.py
args2.py   def3.py    function3.py  nonlocal.py  return5.py    test2.py
args3.py   defin1.py  function.py   os0.py     return6.py    test.py
args.py    defin2.py  global2.py    os1.py     return.py
bibao2.py  defin3.py  global.py     return2.py     shuablogs.py
bibao.py   def.py     globals2.py   return3.py     sys0.py
cmd result 0      #####################  为啥是0呢   因为这个是命令执行的返回值. 命令结果输出至屏幕打印了

 

[root@VM_0_15_centos gan]# cat os1.py
#!/usr/bin/env python
import os
#cmd_res = os.system("ls")
cmd_res = os.popen("df -h")#.read()

print("cmd result",cmd_res)
[root@VM_0_15_centos gan]# python os1.py
cmd result <os._wrap_close object at 0x7f59a92589e8>     ########### 这个打印的是内存的对象地址

 

[root@VM_0_15_centos gan]# cat os1.py
#!/usr/bin/env python
import os
#cmd_res = os.system("ls")
cmd_res = os.popen("df -h").read()    ######## read去内存读取值

print("cmd result",cmd_res)
[root@VM_0_15_centos gan]# python os1.py
cmd result Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        50G  2.2G   45G   5% /

创建个目录

[root@VM_0_15_centos gan]# cat os1.py
#!/usr/bin/env python
import os
#cmd_res = os.system("ls")
cmd_res = os.popen("df -h").read()
print("cmd result",cmd_res)

os.mkdir("new_dir")
[root@VM_0_15_centos gan]# python os1.py
cmd result Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        50G  2.2G   45G   5% /

[root@VM_0_15_centos gan]# ll n
new_dir/     nonlocal.py  
[root@VM_0_15_centos gan]# ll new_dir/
total 0
[root@VM_0_15_centos gan]# 

 自己写个模块

自己写的tab.py模块只能在当前目录下导入,如果想在系统的何何一个地方都使用怎么办呢? 此时你就要把这个tab.py放到python全局环境变量目录里啦,基本一般都放在一个叫 Python/2.7/site-packages 目录下,这个目录在不同的OS里放的位置不一样,用 print(sys.path) 可以查看python环境变量列表。

 

getpass

隐藏输入的密码字符

posted @ 2019-03-26 23:33  mingetty  阅读(151)  评论(0)    收藏  举报