摘要:本文主要向大家介绍了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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号