Linux运维知识之linux基础的一些常见问题总结_学习笔记5
小标 2018-09-18 来源 : 阅读 985 评论 0

摘要:本文主要向大家介绍了Linux运维知识之linux基础的一些常见问题总结_学习笔记5,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

本文主要向大家介绍了Linux运维知识之linux基础的一些常见问题总结_学习笔记5,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。

python的基础讲解:
python的基础:
1、print同时打印多个字符串,只需将他们用逗号分隔开。
    即:print 'ma',23
2、从模块导入函数的时候,可以使用:
    import  somemodule 主要为内建模块
    或from somemodule import somefunction
    或from somemodule import somefunction anotherfunction yetanotherfunction
    或from somemodule import *
    
 如果两个模块中的函数相同时,怎么办:
     1、module.function()
           2、import function as long
               long.function()
           3、from module import function as long1
               long1()
3、序列解包:
    a,b,c=1,2,3
    a,b=b,a
    print a,b,c
    
    
    
字典的基础用法(dict):
1、字典的建立:
    a=[('ma',1),('cheng',2),('long',3)]
    b=dict(a)
    
    b=dict(ma=1,cheng=2,long=3)
2、len
    显示字典中有多少项,键-值是一项。
3、a['ma']=4
4、del a['ma']
5、'ma' in a 检查字典a中是否有'ma'这个键
6、a={'name':'ma','like':'funny'}
   "my name is %(name)s" % a 
        my name is ma 
        
7、只要所有给出的键都能在字典中找到,就可以获得任意数量的转换符。这类字符串格式化在模板中很有用。
    例如:
        a='''
        <html>
        <head>%(title)s</head>
        <body>
        <h1>%(title)</h1>
        <p>%(text)</p>
        </body>
        </html>
        '''
        
        b={'title':'my name is machenglong','text':'my hobby is freedom'}
        
        c=a%b
8、clear
    清除字典中的所有项
    例如:
       a={}
       a['name']='machenglong'
       a['age']=24
       a.clear()
       
    clear可以清除关联性的赋值。
       例如:
          例1:
           a={}
           a['name']='machenglong'
           a=b
           a={}
          例2:
            a={}
            a['name']='machenglong'
            a=b
            a.clear()
          通过以上的两个例子可以得出,例1无法清除关联性赋值,即:b的赋值没有清除。而例2使用clear清除真正做到了完全清除赋值。
9、copy
       
   deepcopy
       深复制:
         from copy import deepcopy 
         b=deepcopy(a)
         深复制的内容做修改不会影响到原字典,原字典做修改也不会影响到复制的字典。
         
10、fromkeys
    fromkeys方法使用给定的键建立新的字典,每个键默认对应的值为None
    例如:
       a={}.fromkeys(['name','age','like'])
       设定默认值:
       a=dict.fromkeys(['like','age'],'(unknown)')
       
11、get
    获取字典中键所对应的值,类似索引似的获取键值。但索引获取键值,如果没有查找的键不存在,那么结果就会报错,而get则就不会,只不过会输出none打印到屏幕。
    例如:
       a.get('m')
    还可以设定不存在键值时默认回复的内容:
    例如:
       a.get('m','N/A')
12、has_key
    可以检查字典中是否含有给出的键,与a in b的用法相同
    例如:
    a.has_key('name')
    
13、items
    将字典一列表的形式返回,列表中的每一项都来自于(键-值)。
    a={'name':'ma','age':24,'like':'apple'}
    b=a.items()
    
14、iteritems
    作用大致与items的用法相同。但是会返回一个迭代对象而不是列表。
    a={'name':'ma','age':24,'like':'apple'}
    b=a.iteritems()
    c=list(b)
    
15、keys
    将字典中的键一列表的形式返回
    a={'name':'ma','age':24,'like':'apple'}
    b=a.keys()
    
16、iterkeys
    返回一个键的迭代器
    a={'name':'ma','age':24,'like':'apple'}
    b=a.iterkeys()
    c=list(b)
    
17、pop
    用来获取对应与给定键的值,然后将这个值-键对从字典中删除。
    a={'name':'ma','age':24,'like':'apple'}
    b=a.pop('name')
    
18、popitem
    随机一个一个的删除字典中项。这对一个一个的处理项很有好处。
    a={'name':'ma','age':24,'like':'apple'}
    a.popitem()
    
19、setdefault
    a={}
    b=a.setdefault('name','ma')
    b
    n['name']='cheng'
    b
    b.setdefault('name','ma')
    b
    可以看到当键不存在时,setdefault返回默认值并且相应的更新字典。如果键存在那么就会返回其对应的值,但不改变字典。默认值使可以改变的,如不设定默认为none 
    
20、update
    可以利用一个字典更新另一个字典。
    a={'name':'ma','age':24,'like':'apple'}
    b={'name':'cheng'}
    print a.update(b)
    {'name':'cheng','age':24,'like':'apple'}
    
21、values
    a={'name':'ma','age':24,'like':'apple'}
    print a.values()
    ['ma','24,'apple']
    以列表的形式返回字典中的值
    
22、itervalues
    a={'name':'ma','age':24,'like':'apple'}
    b=a.itervalues()
    c=list(b)
    c
    ['ma',24,'apple']
         
          
          
数列的基础用法(list):
数列:
   索引:
       hello[1]
   a=raw_input('please input:)        将输入的任何内容转化为字符串格式
   a=input('please input:)        保留输入内容的格式,即:不会改变输入的内容的类型
   分片:
       a='www.baidu.com'
       print a[4:9]
       'baidu'
       print a[0:-1:2]            第三个元素为步长
       'wwbiuc'
   序列可以相加亦可以相乘
       例如:
           a=list('machenglong']
           b=list['long']
           c=a+b
           d=3*b
   判断指定字符串是否存在:
       例如:
           a='machenglong'
           'ma' in a 
               True
   判断数列长度:
       len(a)
   判断数列最大值:
       max(a)
   判断最小值:
       min(a)
   删除元素:
       del a[1]
   列表方法:
       append 
           用于在列表末尾追加新的内容
             a=range(1,10)
             a.append(1)
             a.append('ma')
       count
           统计某个元素在列表中出现的次数
               a=range(1,10)
               a.append(1)
               a.count(1)
       extend
            一次性的在列表中追加另外的一个列表
                a=range(1,10)
                b=range(10,20)
                c=a.extend(b)
       index
            用于找出某个元素在列表中第一次出现的位置
               a=range(1,10)
               a.index(1)
       insert
            将对象插入到指定位置
               a=range(1,10)
               a.insert(2,'macheng')
       pop
            默认删除列表中最后一个元素
               a=range(1,10)
               a.pop()
           a.pop(3)    删除索引为3的元素
       remove
             用于删除第一个搜索到的元素
             a=range(1,10)
             a.remove(1)
       reverse
             将列表中的内容反向排序
                a=range(1,10)
                a.reverse()
       sort
             将列表中的内容正向排序
             a=range(1,10)
             a.sort(a.reverse())
             
             a=['ma','cheng','long','hong']
             a.sort(key=len)            设定排序的一句为元素长度
             
             a=range(1,10)
             a.sort(reverse=true)        reverse用来指明是否反向排序
       cmp
             用于两数值进行对比
             cmp(10,9)
             1
             cmp(9,10)
             -1
             cmp(9,9)
             0
       
元祖:
    tuple
        与list的功能一样;以一个序列作为参数,并把他们转化为元祖。如果参数就是元祖就会把他原样返回。
        tuple(['l','c','m'])
        tuple('ma')
        tuple((1,2,3))
    
            
            
            
            
            
            
            
os模块的基础用法:
OS模块的使用:
os.name    查看系统平台,windows返回'nt',linux返回'posix'。
os.getcwd()    获取当前所处路径
os.listdir(dir)    获取目录下的文件列表
os.system('comm')    执行系统自身的命令
os.remove(file)    删除指定文件
os.rmdir(dir)    删除指定目录,但是如果目录理由内容需要先删除目录内的文件。
os.mkdir(dir)    创建目录,但是不能递归性的创建,os.makedirs(dir)就可以递归性的创建了。
os.mknod(file)    创建文件
os.chdir(dir)    转换文件路径
os.rename(old_dir,new_dir)    重命名目录名
os.sep    可以取代系统特定的路径分割符
os.path.spilt(path)    可以将一个文件分割‘路径’和‘文件名’两部分。
os.path.isfile(path)    判断是不是文件,路径加绝对路径。os.path.isdir(path)判断一个文件是不是目录。
os.path.exists(path)    判断给出的路径是否存在,路径要加绝对路径。
os.path.abspath(file)    获得当前路径下文件的绝对路径。
os.path.getsize(file)    获得文件的大小
os.path.splitext(file)    分离文件名和扩展名
os.path.join(dir,file/dir)    连接目录与文件名或目录名
os.path.basename(path)    返回文件名
os.path.dirname(path)    返回目录
shutil模块:
shutil.copyfile(file_old,file_new)    只能复制文件
shutil.copytree(old_dir,new_dir)    只能是目录,且新目录必须不存在
a
shutil.move(old,new)            移动目录
shutil.remove(file)            删除文件
shutil.rmtree(dir)            有内容的目录和空目录都可以删除
备注:若路径中含中文,在windows环境(编码为GBK)下,要将目录编码成GBK,如:dir.encode('GBK')
sys模块:
sys.argv[1]    获取脚本执行的参数,argv[0]代表脚本本身
len(sys.argv)-1    参数个数
sys.platform    查看系统平台
sys.exit()    退出
xlrd模块:
data=xlrd.open_workbook('file.xls')    打开一个office文件
table=data.sheets()[0]            获取第一个工作表
nrows=table.nrows            获取行数
ncols=table.cols            获取列数
table.row_values(i)            获取整行的值            
table.col_values(i)            获取整列的值
table.cell(row,col).value        获取逐个单元格的内容
xlwt模块:
file=xlwt.Workbook()
table=file.add_sheet('name.sheet')        新建一个sheet
table.write(row,col,value)            在表格中写入值
    table.write(0,0,'test')
file.save('name.xls')                保存xls文件
MySQLdb模块:
import MySQLdb as mysql
conn=mysql.connect(host='IP',user='username',passwd='password',port='3306',db='data')        创建数据库链接
cur=conn.cursor()                                        获取游标
data=cur.execute(command)                                    加载sql命令语句
cur.fetchone()/cur.fetchall()                                    执行加载的sql命令
conn.commit()                                            保存操作
conn.close()                                            关闭数据库的链接状态
psutil模块的基础用法:
进程信息:
1、psutil.pids():列出所有进程的id
2、p=psutil.Process(pid):实例化一个进程
3、p.name():显示进程名字
4、p.exe():进程的bin路径
5、p.cwd():进程的绝对路径
6、p.status():进程的状态
7、p.create_time():进程创建的时间
8、p.memory_percent():进程的内存使用率
9、p.memory_info:进程内存的rss、vms信息。
10、p.io_counters():进程的io信息,包括IO数及字节数
11、p.connections():返回打开进程socket的namedutples列表,包括fs、family、laddr的信息。
12、p.num_threads():进程开启的线程数
内存信息:
13、mem=psutil.virtual_memory():获取整体内存信息        swap=psutil.swap_memory():显示交换分内存信息。
14、mem.total:显示全部内存大小
15、mem.used:显示已用内存
16、mem.free:显示空闲内存
cpu信息:
17、psutil.cpu_count():显示cpu个数
18、psutil.cpu_count(logical=False):显示cpu物理个数
19、psutil.cpu_times():显示cpd的整个信息
硬盘信息:
20、psutil.disk_io_counters():获取磁盘的完整信息。
21、part=psutil.disk_partitions():获取分区表的分区信息
22、psutil.disk_usage('/'):获取"/"分区的信息
其他信息:
23、psutil.users():获取开机时间
24、psutil.boot_time():以linux格式返回当前时间
25、datetime.datetime.fromtimestamp(psutil.boot_time()).strftime("%Y-%m-%d %H:%M%S")
字符串的基础用法(string):
find:
    查找索要寻找的字符串的起始索引位置
    用法:
    'machenglong'.find('long')
    指定搜索范围:
        'machenglong'.find('long',1,-1)
join:
    将数列转换为字符串。
    用法:
    a=list('long')
    b='+'
    b.join(a)    注:其中b是指在转化数列a时在其中添加b
lower:
    将字符串转化为小写
    用法:
    'MACHENGLONG'.lower()
upper:
    将字符串转化为大写
    用法:
    'machenglong'.upper()
replace:
     替换字符串
     用法:
    'machenglong'.replace('ma','cheng')
split:
     与join的用法相反。
     用法:
    a='1+2+3+4+5'
    a.split('+')
strip:
     去除字符串两边的空格
     用法:
    '   machenglong   '.strip()
    lstrip、rstrip
translate:
     在指定范围中将指定的字符串全部替换为指定的字符串。
     用法:
    1、制作需替换的字符表:
        from string import maketrans
        a=maketrans('cs','kz')
        len(a)
        a[97:123]指定替换范围
    2、'machenglong'.translate(a)    替换字符串中的cs字符为kz
       'ma cheng long'.translate(a,' ')    第二个参数是用来指定需要删除的字符。
爬虫框架的安装(scrapy):
安装setuptools
安装Zope.Interface
安装Twisted
安装w3lib
安装libxml2
安装pyOpenSSL
安装Scrapy

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程