此内容本人原创,拒绝商业用途及他人转发,严厉打击有以上行为,发现后追究法律责任。
print内调用变量

>> print "tom is %d,jerry is %d" %(i,j) #%d调用 %i 第二个%d调用 %j
tom is 20,jerry is 30
#################################################
break用法 中断所有循环
1.
#!/usr/bin/python
#coding:utf-8
#提示输入用户名
#直到输入tom为止
while 1:
user=raw_input("请输入用户名:")
if user=="tom":
break

2.
#!/usr/bin/python
#coding:utf-8
import random
num=random.randint(1,100)
while 1:
user=int(raw_input('请输入一个数'))
if user == num:
print '你猜对了'
break
elif user > num:
print '你猜大了'
else:
print '你猜小了'

#################################################
shell for 循环 do done
for i in 1 8 5 66
for i in {1..100}
for i in cat file
for i in ls /etc/

python for 循环
for i in 字符串:
###########################

>> x='hello the'
>> len(x)
9
>> for i in x: ##for循环几次跟下标有关,取下标的变量内容
... print i ##print结尾默认为换行打印
...
h
e
l
l
o

t
h
e

for i in 字典:
#############################

>> x={'phone':11,'age':88,'name':'tom'} ###循环第一次i取phone,循环第二次i取age
>> for i in x:
... print i
...
phone
age
name
############################

for i in 列表:

>> x=[11,88,'tom'] ##循环第一次i取11,第二次取88
>> for i in x:
... print i
...
11
88
tom

####################################

for i in xrange(8): #执行8次 从0开始 或者 for i in range(8): ##0-7
兔子列表
x=[0,1]
for i in xrange(8):
tmp=x[-1]+x[-2]
x.append(tmp)
print x

##################################
偶数求和

>> range(1,10,2)
[1, 3, 5, 7, 9]
>> range(2,10,2)
[2, 4, 6, 8]

快速生成

>> [10 for i in range(5)] ###把常量10放入for循环里面 print rang(5)循环五次
[10, 10, 10, 10, 10]
>> ['qq'for i in range(5)]
['qq', 'qq', 'qq', 'qq', 'qq']
>> ['192.168.4.%d' %i for i in xrange(1,255)] ###把变量i放入for循环里面print
######################################
Python对文件操作:
write和writelines的区别
1 write()需要传入一个字符串做为参数,否则会报错
2 writelines()既可以传入字符串又可以传入一个字符序列,并将该字符序列写入文件
3 注意必须传入的是字符序列,不能是数字序列(卡在这里搞了半天)
read() #一次性读取文本中全部的内容,以字符串的形式返回结果
readline() #只读取文本第一行的内容,以字符串的形式返回结果
readlines() #读取文本所有内容,并且以列表的格式返回结果,一般配合for in使用

open('文件名',权限) 默认为读权限

x=open('/etc/hosts') ##读权限打开,文件存在就报错。打开文件内容把内容给变量x
x.readline() #默认读一行
x.read() #读所有
x.seek(0) #返回第一行
x.readline(6) #读6个字节,一个字母一个字节
x.close() #关闭文件

for i in x: #循环一次读一行 i取文件的行内容 自动换行

>> y=open('/root/new.txt','w') ##如果不存在就新建,如果存在就清空覆盖,写的权限打开
>> y.writelines("aaa\n") ##在一行中写入aaa 再换行,内容可以为字符串,也可以为字符序列
>> y.writelines("bbbb\n") ##在一行中写入bbbb 再回车
>> y.flush() ##保存
>> y.writelines("ccccc\n") ##在一行中写入cccccc 再回车
>> y.close() ##关闭并保存
#####################################
写一个cp程序
#!/usr/bin/python
#coding:utf-8
file1=raw_input("请输入源文件:")
file2=raw_input("请输入目标文件:")
x=open(file1)
y=open(file2,'w')
for i in x: 循环一次取一行,包含结束符合 相当于循环一次,就readline一次
y.writelines(i) 写一行包含\n 循环一次 ####综合这个语句,取一行写一行,再循环一次......
y.close()
x.close()
################################
函数
#!/usr/bin/python
#coding:utf-8
def jsp(): #定义函数
print 1+8
print 23
print 3
5
jsp() #调用函数
print ''20
jsp() #调用函数
###################################
形式参数,实际参数,默认参数
#####################################
#!/usr/bin/python
#coding:utf-8
def jsp(x,y): #x,y为形式参数
print x+y
print xy
print x/y
jsp(3,5) #3,5为实际参数
jsp(8,3) #8,3为实际参数
#######################################
#!/usr/bin/python
#coding:utf-8
def jsp(x=3,y=2): #x=3,y=2为默认参数
print x+y
print x
y
print x/y
jsp(3,5) #实际参数和默认参数一起用
jsp()

######################################3
函数运用
思考:

>> import subprocess
>> subprocess.call('ping -c2 192.168.4.5 > /dev/null',shell=True)
1
则程序应该这么写
#!/usr/bin/python
#coding:utf-8
import subprocess
def myping(x):
tmp=subprocess.call('ping -c2 %s &> /dev/null' %x,shell=True)
if tmp==0:
print('%s is up' %x)
else:
print('%s is down' %x)
myping('192.168.4.5')
myping('172.121.205.38')
结果:
192.168.4.5 is down
172.121.205.38 is up

##################################
!/usr/bin/python
#coding:utf-8
import sys ##导入模块
file1=sys.argv[1] ##相当于shell中的$1 脚本命令 第一个参数
file2=sys.argv[2] ##相当于shell中的$2 脚本命令 第二个参数
x=open(file1)
y=open(file2,'w')
for i in x:
y.writelines(i)
y.close()
x.close()

################################
模块 (/usr/lib64/python2.7/)
import 模块名 ##导入模块中所有函数
模块名.函数() ##调用函数
函数名.变量

from 模块名 import 函数 ###只导入模块中的一个函数
from nb import star

import 模块,模块,模块 ###导入多个模块逗号隔开

>> import string
>> string.letters
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
>> string.letters+string.digits
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
>> x=string.letters+string.digits
>> import random
>> random.choice(x)
'w'
>> random.choice(x)
'r'
>> random.choice(x)
'Y'

####################################
随机产生8位数密码
#!/usr/bin/python
#coding:utf-8
import random,string ##导入string和random模块
x=string.letters+string.digits ##产生所有字母和数字返回给变量x
passwd='' ##定义passwd变量为空
for i in range(8): ##循环八次
passwd+=random.choice(x) ##循环一次随机产生一个数,然后累加起来
print passwd ###字符串用引号,变量不用引号

##############################
while,for循环
文件操作
函数
模块