1.打开文件的集中模式:

2.文件对象方法:

对于文件对象方法的练习代码:

读取F:\\script\\script.txt位置文件中内容

 >>> f=open('F:\\script\\script.txt','rt') #打开文件位置
>>> f #查看f相关内容
<_io.TextIOWrapper name='F:\\script\\script.txt' mode='rt' encoding='cp936'>
>>> f.read() #读取script.txt文件中内容
'琪琪:小甲鱼问你有没有男朋友,我跟他说你没有。\n我:…………'
>>> f.read()
'' #由于上面已经读取过了,所以指针已经指到了末尾,继续读取为空字符
 >>> f=open('F:\\script\\script.txt','rt')
>>> f.read(5) #读取前5个字符
'琪琪:小甲'
>>> f.tell()
10
>>> f.seek(4,0) #重新定位指针指向到位置4
4
>>> f.readline() #从位置4开始读取本行内容
':小甲鱼问你有没有男朋友,我跟他说你没有。\n'
>>> list(f) #继续以列表的形式读取下一行内容
['我:…………']
#用list及for语句打印出‘script.txt’中代码
>>> lines=list(f)
>>> for each_line in lines:
print(each_line) 琪琪:小甲鱼问你有没有男朋友,我跟他说你没有。 我:…………
#只用for语句打印出‘script.txt’中代码
>>> for each_line in f:
print(each_line)
琪琪:小甲鱼问你有没有男朋友,我跟他说你没有。 我:…………

在某个目录下创建一个新文件并写入相关内容:

>>> f=open('F:\\script\\test.txt','w') #打开某位置的test.txt,如果此目录下没有此文件,自动创建此文件
>>> f.write('我爱郭琦') #在test.txt中写入的内容
4 #写入test.txt中的字符数
>>> f.close() #只有做此操作write内容才能够真正写入指定文件,不然write的内容会在缓存中

执行以上代码后自动创建的文件‘test.txt’

执行close()操作后,test.txt文件中内容也同时写入:

——————————————————————————————————————————————

文件的花样操作(一个文件肢解成多个文件)

文件内容截图

实现代码:

切片函数学习:

 f=open('script.txt')
#初始化不同身份以方便下面分解对话到不同文件
boy=[]
girl=[]
#初始化一个计算器,来分提取对话的文档名称
count=1
for each_line in f:
if each_line[:6] !='==========': #判断是否是等号如果是进行字符串操作
(role,line_spoken)=each_line.split(':',1) #此处用到分解函数参照上图
if role=='小甲鱼':
boy.append(line_spoken)
if role='小客服':
girl.append(line_spoken)
else: #如果不是等号,进行文件分别保存
#按照规则命名个角色对应文件名称
file_name_boy='boy_'+str(count)+'.txt'
file_name_girl='girl_'+str(count)+'.txt'
#打开文件
boy_file=open(file_name_boy,'w')
girl_file=open(file_name_girl,'w')
#写入文件内容
boy_file.writelines(boy)
girl_file.writelines(girl)
#关闭文件
boy_file.close()
girl_file.close()
#分解完一段对话后重新初始化各角色,再次进行对话分解
boy=[]
girl=[]
count+=1
#由于第三段末尾没有===,所以需要单独再写一段
file_name_boy='boy_'+str(count)+'.txt'
file_name_girl='girl_'+str(count)+'.txt' boy_file=open(file_name_boy,'w')
girl_file=open(file_name_girl,'w') boy_file.writelines(boy)
boy_file.writelines(boy) boy_file.close()
girl_file.close()

对于上段代码进行代码简化并优化:

 def save_file(boy,girl,count):
file_name_boy='boy_'+str(count)+'.txt'
file_name_girl='girl_'+str(count)+'.txt' boy_file=open(file_name_boy,'w')
girl_file=open(file_name_girl,'w') boy_file.writelines(boy)
boy_file.writelines(boy) boy_file.close()
girl_file.close() #封装以下代码
def split_file(file_name):
f=open('script.txt')
#初始化不同身份以方便下面分解对话到不同文件
boy=[]
girl=[]
#初始化一个计算器,来分提取对话的文档名称
count=1
for each_line in f:
if each_line[:6] !='==========': #判断是否是等号如果是进行字符串操作
(role,line_spoken)=each_line.split(':',1)
if role=='小甲鱼':
boy.append(line_spoken)
if role='小客服':
girl.append(line_spoken)
else: #如果不是等号,进行文件分别保存
save_file(boy,girl,count) #分解完一段对话后重新初始化各角色,再次进行对话分解
boy=[]
girl=[]
count+=1
#由于第三段末尾没有===,所以需要单独再写一段
save_file(boy,girl,count)
f.close()
#设置主程序
split_file('scipt.txt')

————————————————————————————————————————————————

挂载点:

挂载点实际上就是linux中的磁盘文件系统的入口目录,类似于windows中的用来访问不同分区的C:、D:、E:等盘符

————————————————————————————————————————————————

OS个函数:

代码:

 >>> os.sep
'\\'
>>> os.linesep
'\r\n'
>>> os.name
'nt'
>>> os.curdir
'.'
>>> os.listdir(os.curdir)
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools']
>>> os.path.basename('E:\\A\\B\\C\\sexy.avi')
'sexy.avi'
>>> os.path.dirname('E:\\A\\B\\C\\sexy.avi')
'E:\\A\\B\\C'
>>> os.path.join('A','B','C')
'A\\B\\C'
>>> os.path.join('C:','A','B','C')
'C:A\\B\\C'
>>> os.path.join('C:\\','A','B','C')
'C:\\A\\B\\C'
>>> os.path.split('E:\\A\\SEXY.AVI')
('E:\\A', 'SEXY.AVI')
>>> os.path.split('E:\\A\\B\\SEXY.AVI')
('E:\\A\\B', 'SEXY.AVI')
>>> os.path.split('E:\\A\\B\\C')
('E:\\A\\B', 'C') #由于没有文件,所以会自动识别C路径为文件名,这里还是需要人工自动识别才好
>>> os.path.splitext('E:\\A\\B\\SEXY.AVI')
('E:\\A\\B\\SEXY', '.AVI')
>>> os.path.getatime('D:\\各种视频\\Python\\学习笔记\\test_1.py') #得到一个浮点数时间,引入时间模块后可以转化为可识别的时间数字
1488955403.494545
>>> import time #引入时间模块
>>> time.gmtime(os.path.getatime('D:\\各种视频\\Python\\学习笔记\\test_1.py')) #英国标准时间gmtime
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=8, tm_hour=6, tm_min=43, tm_sec=23, tm_wday=2, tm_yday=67, tm_isdst=0)
>>> time.localtime(os.path.getatime('D:\\各种视频\\Python\\学习笔记\\test_1.py')) #北京标准时间
time.struct_time(tm_year=2017, tm_mon=3, tm_mday=8, tm_hour=14, tm_min=43, tm_sec=23, tm_wday=2, tm_yday=67, tm_isdst=0)
>>> os.path.ismount('E:\\') #判断是否为挂载点(可以理解为是否为Windows的分区盘,linux中的磁盘文件系统的入口目录)
True
>>> os.path.ismount('E:\\A')
False
>>>

最新文章

  1. 关于float和margin
  2. lua和整合实践
  3. ElasticSearch学习-centos下安装
  4. 第三届“HTML5峰会”变身“iWeb峰会”8月来袭
  5. 对象关系映射ORM
  6. ubuntu15.10下搭建cordova+ionic开发环境
  7. 【131202】SQL
  8. DiscuzX程序升级教程_不知道关闭论坛的看过来
  9. Android下拉刷新-SwipeRefreshLayout,RecyclerView完全解析之下拉刷新与上拉加载SwipeRefreshLayout)
  10. T-SQL切割字符串方法小结
  11. The number of positions
  12. HashMap循环过程中删除元素发生ConcurrentModificationException的源码分析
  13. windows gitbook pdf
  14. python 日期格式
  15. Week2:阅读笔记与思考
  16. 详解Spring中的Profile
  17. 基于cookie或session的登陆验证之安全性问题
  18. 5个基于Linux命令行的文件下载和网站浏览工具
  19. 权限认证与授权(Shrio 框架)
  20. 对网页进行截图(selenium)

热门文章

  1. android新建的项目界面上没有显示怎么办?
  2. spring boot配置文件application.propertis
  3. windows下dump文件调试
  4. oracle闪回数据
  5. android cannot locate symbol &#39;sigemptyset&#39;问题解决
  6. CF 434C Tachibana Kanade&#39;s Tofu[数位dp+AC自动机]
  7. CSS 让 fontawesome 图标字体变细
  8. (转)关于如何学好游戏3D引擎编程的一些经验
  9. Unity3D笔记 GUI 二 、实现选项卡一窗口
  10. Spring加载xsd文件报错:because 1) could not find the document; 2) the document could not be read...