模块

import sys
print(sys.argv)
if sys.argv[1]=='1':
print("this is right!!!")
else:
print("other")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

C:\Users\Administrator\PycharmProjects\py>python sysmo.py 1
[‘sysmo.py’, ‘1’]
this is right!!!




同一个目录下是可以导入的


C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages

存放所有第三方安装的模块


sys.exit(n)退出sys.exit(“GOODBYD”)=exit(“GOODBYE”)

sys.version 获取Python解释程序的版本信息

sys.maxint 最大的int值

sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform返回操作系统的平台名称

sys.stdout.write(“please”) stdout往屏幕上打印东西

val = sys.stdin.readline()[:-1]



pip.exe install django 安装第三方模块


import time

import sys

for i in range(100):

      sys.stdout.write(“#”)

      time.sleep(0.1)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

sys.stdin.read()

CTRL + Z 结束输入



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


sys.stdout.writelines("\n%s" % (100*"a"))

打印100个a


for i in range(101):
sys.stdout.writelines("\r")#清空这行
sys.stdout.writelines("%s%%|" % (i))#"█▏")
for j in range(i):
sys.stdout.writelines("#")
sys.stdout.flush()#刷新
time.sleep(0.1)



开放封闭原则 装饰器

对于函数内部是封闭的

@outer

1.执行outer函数,并且将其下面的函数名当作参数

2.将outer的返回值重新赋值给f1(相当于再定义一个f1,让f1=outer的返回值)

新f1函数=inner

原函数封装到其它函数里边

执行新的函数

只要函数应用装饰器,那么函数就被重新定义,重新定义为:装饰器的内层函数

image

回顾

1.lambda

func = lambda x,y:9+x

参数:x,y

函数体:9+x==>>return 9+x

func:函数名

def func(x,y):

return x+9

def f1():

return “F1”

def f2(x):

x()#执行了函数

f1=>函数

f2=>函数

f1()=>执行函数

f2(f1)执行f2,把f1当成参数传递

扩展:函数名可以当做参数传递

            函数名()=>执行函数

            函数名==》代指函数

def MyFilter(func,arg):
for i in arg:
func(i)
def MyPrint(x):
print(x)
MyFilter(MyPrint,[11,22,33,44,55,6,6])

Connected to pydev debugger (build 172.3317.103)
11
22
33
44
55
6
6

Process finished with exit code 0

open()

一、打开文件

二、操作文件

三、关闭文件

基本的打开方式

open(文件名,模式,编码)默认是只读模式就是”r”

f = open("ha.log")#equals open("ha.log","r")
data=f.read()
f.close()
print(data)

r,只读模式【默认】
w,只写模式【不可读;不存在则创建;存在则清空内容】
x,只写模式【不可读,不存在则创建;存在则报错】
a,追加模式【不可读,不存在则创建,存在则只追加内容】

”+”表示可以同时读写文件
r+,读写【可读、可写】 从开始向后读 写追加,指针调到最后
w+,写读【可读,可写】 先清空,从开始向后读,写也是追加数据,每次都是重新写 f.write(“中”)
x+,写读【可读,可写】 文件存在则报错
a+,写读【可读,可写】 找开后就在最后

都可以通过seek调整

#python3中的
”b”表示以字节的方式操作
rb或r+b
wb或w+b
xb或x+b
ab或a+b
注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型


flush()刷到硬盘里

f.read(1)读取一个字符
f.read(1)带b读取一个字节