一、编码格式
二、文件操作
1.文件的读写
原理
demo3
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 15:26 file open( a.txt , r ) print(file.readlines()) #readlines()是一个列表 file.close()
输出结果
2.常用的文件打开模式
demo4
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 15:35 file open( b.txt , w ) file.write( Python ) file.close()
输出结果
demo6
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 15:46 src_file open( logo.png , rb ) target_file open( copylogo.png , wb ) target_file.write(src_file.read()) #边读边写 target_file.close() src_file.close()
3.文件对象的常用方法
demo7
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 15:46 file open( a.txt , r ) #print(file.read(2)) #print(file.readline()) print(file.readlines()) file.close()
输出结果
demo8
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 15:54 file open( c.txt , a ) file.write( hello ) lst [ java , go , python ] file.writelines(lst) file.close()
输出结果
demo9
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 15:56 file open( c.txt , r ) file.seek(2) print(file.read()) print(file.tell()) file.close()
输出结果
demo10
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 16:01 file open( d.txt , a ) file.write( hello ) file.flush() file.write( world ) file.close()
输出结果
4.with语句
demo12
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 16:12 with open( a.txt , r ) as file: #open( a.txt , r ) 称为上下文管理器 print(file.read())
输出结果
demo13
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 16:19 MyContentMgr实现了特殊方法__enter__(),__exit__()称为该类对象遵守率上下文管理器协议 class MyContentMgr(object): def __enter__(self): print( enter方法被调用执行了 ) return self def __exit__(self, exc_type, exc_val, exc_tb): print( exit方法被调用执行了 ) def show(self): print( show方法被调用执行了 ) with MyContentMgr() as file: #相当于file MyContentMgr() file.show()
输出结果
demo14
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 16:19 #with语句实现文件复制 with open( logo.png , rb ) as src_file: with open( copy2logo.png , wb ) as target_file: target_file.write(src_file.read())
三、目录操作
demo15
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 16:54 #os模块是与操作系统相关的一个模块 import os #os.system( notepad.exe ) #os.system( calc.exe ) #直接调用可执行文件 os.startfile( C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe )
输出结果
1.os模块操作目录相关函数
demo16
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 20:45 import os print(os.getcwd()) lst os.listdir( ../chap15 ) print(lst) #os.mkdir( newdir2 ) #os.makedirs( A/B/C ) #os.rmdir( newdir2 ) #os.removedirs( A/B/C ) #os.chdir( E:\vippython\chap14 ) #print(os.getcwd())
输出结果
2.os.path模块操作目录相关函数
demo17
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 20:56 import os.path print(os.path.abspath( demo13.py )) print(os.path.exists( demo13.py ),os.path.exists( demo18.py )) print(os.path.join( E:\Python , demo13.py )) print(os.path.split( E:\vippython\chap15\demo13.py )) print(os.path.splitext( demo13.py )) print(os.path.basename( E:\vippython\chap15\demo13.py )) print(os.path.dirname( E:\vippython\chap15\demo13.py )) print(os.path.isdir( E:\vippython\chap15\demo13.py ))
输出结果
案例demo18
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 21:03 #列出指定目录下的所有文件 import os path os.getcwd() lst os.listdir(path) for filename in lst: if filename.endswith( .py ): print(filename)
输出结果
案例demo19
# 姓名 薛之芹 # QQ:1120514609 # 开发时间 2021/9/27 21:07 import os path os.getcwd() lst_files os.walk(path) #work可以遍历指定目录下的所有文件及目录 for dirpath,dirname,filename in lst_files: print(dirpath) print(dirname) print(filename) print( ------------------------------ ) for dir in dirname: print(os.path.join(dirpath,dir)) for file in filename: print(os.path.join(dirpath,file)) print( -------------------------- )
输出结果
D:Python3.9.6python.exe D:/PyCharm/PyCharmProjects/pythonProjects/vippython/chap15/demo19.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15newdir D:PyCharmPyCharmProjectspythonProjectsvippythonchap15a.txt D:PyCharmPyCharmProjectspythonProjectsvippythonchap15b.txt D:PyCharmPyCharmProjectspythonProjectsvippythonchap15c.txt D:PyCharmPyCharmProjectspythonProjectsvippythonchap15copy2logo.png D:PyCharmPyCharmProjectspythonProjectsvippythonchap15copylogo.png D:PyCharmPyCharmProjectspythonProjectsvippythonchap15d.txt D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo1.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo10.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo12.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo13.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo14.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo15.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo16.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo17.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo18.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo19.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo3.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo4.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo5.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo6.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo7.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo8.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15demo9.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15logo.png -------------------------- D:PyCharmPyCharmProjectspythonProjectsvippythonchap15newdirsub D:PyCharmPyCharmProjectspythonProjectsvippythonchap15newdir1.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15newdir2.py D:PyCharmPyCharmProjectspythonProjectsvippythonchap15newdir3.py -------------------------- D:PyCharmPyCharmProjectspythonProjectsvippythonchap15newdirsubsub1.py -------------------------- Process finished with exit code 0
知识点总结



