一,、使用os模塊 In [1]: import os #導(dǎo)入os模塊
In [2]: os.system('ls')
anaconda-ks.cfg
epel-release-7-5.noarch.rpm
ipython-4.1.2
ipython-4.1.2.tar.gz
pip-8.1.2
pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz
Out[2]: 0
In [3]: a=os.system('ls') ##得到的是執(zhí)行的命令的返回值,,并不是執(zhí)行結(jié)果
anaconda-ks.cfg
epel-release-7-5.noarch.rpm
ipython-4.1.2
ipython-4.1.2.tar.gz
pip-8.1.2
pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz
In [4]: a #執(zhí)行l(wèi)s命令的返回值,,成功,為0
Out[4]: 0
In [5]: b=os.popen('ls').readlines() #將得到的結(jié)果直接賦值給b列表
In [6]: b #ls執(zhí)行結(jié)果輸出到內(nèi)存,,再全部讀取賦值給b列表
Out[6]:
['anaconda-ks.cfg\n',
'epel-release-7-5.noarch.rpm\n',
'ipython-4.1.2\n',
'ipython-4.1.2.tar.gz\n',
'pip-8.1.2\n',
'pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz\n']
>>>os模塊中常見(jiàn)方法(Linux命令)
二,、使用commands模塊 In [7]: import commands #導(dǎo)入commands模塊
In [8]: c=commands.getoutput('ls') #ls命令執(zhí)行結(jié)果,,字符串形式賦值給c變量
In [9]: c
Out[9]: 'anaconda-ks.cfg\nepel-release-7-5.noarch.rpm\nipython-4.1.2\nipython-4.1.2.tar.gz\npip-8.1.2\npip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz'
In [10]: d=c.split('\n') #對(duì)變量c,指定分隔符\n分隔,,列表形式賦值給d
In [11]: d
Out[11]:
['anaconda-ks.cfg',
'epel-release-7-5.noarch.rpm',
'ipython-4.1.2',
'ipython-4.1.2.tar.gz',
'pip-8.1.2',
'pip-8.1.2.tar.gz#md5=87083c0b9867963b29f7aba3613e8f4a.gz']
三,、read、readline,、readlines區(qū)別 1,、read()全部取出,放到字符串里 2,、readline()方法會(huì)將內(nèi)存空間里的內(nèi)容一次性只讀一行,,放到一個(gè)字符串里 3、readlines()方法會(huì)將內(nèi)存空間里的內(nèi)容一次性全部取出來(lái),,放到一個(gè)列表里
四,、Python腳本實(shí)踐 1、編寫(xiě)一個(gè)python腳本實(shí)現(xiàn)輸出linux里的所有的用戶的信息,,格式如下:
方式一: #!/usr/bin/python
import commands
user_str=commands.getoutput('cat /etc/passwd')
user_list=user_str.splitlines() #列表形式分隔文件內(nèi)容(默認(rèn)按行分隔)
for i in user_list:
u_info=i.split(':')
print "username is ",u_info[0],"uid is ",u_info[2]
方式二: #!/usr/bin/python
import os
userlines=os.popen("cat /etc/passwd").readlines()
for i in userlines:
user_info=i.split(":")
print "username is",user_info[0],"\tuid is",user_info[2]
2、數(shù)值腳本 1.提醒用戶輸入內(nèi)容范圍是0-100 2.判斷用戶輸入的內(nèi)容,,如果不是數(shù)字給予提醒 3.輸出用戶輸入的內(nèi)容 |
|