学习笔记:

OS模块代码示例:

 1 import os
 2 for tmpdir in ('/tmp',r'c:\users\administrator\desktop'):
 3 #如果存在括号里面的目录,则break
 4     if os.path.isdir(tmpdir):
 5         break
 6 #如果不存在,则tmpdir为空值,即False
 7 else:
 8     print 'no temp directory available'
 9     tmpdir=''
10
11 if tmpdir:
12     os.chdir(tmpdir)    #将路径change到这个目录
13     cwd=os.getcwd() #将路径名称赋值给cwd
14     print '*** current temporary directory'
15     print cwd
16
17     print '*** creating example directory'
18     os.mkdir('example') #在当前路径下创建一个example的文件夹
19     os.chdir('example') #切换到这个文件夹下的路径
20     cwd=os.getcwd() #将路径赋值给cwd
21     print '*** new working directory:'
22     print cwd
23     print '*** original directory listing:'
24     print os.listdir(cwd) #print example文件夹下的文件名
25
26     print'*** creating test file:'
27     fobj=open('test','w')   #在example文件夹下创建一个test的文件,以写模式打开
28     fobj.write('foo\n')
29     fobj.write('bar\n')
30     fobj.close()
31     print '*** updated directory listing:'
32     print os.listdir(cwd)   #print example文件夹下的文件名
33
34     os.rename('test','filetest.txt') #将test文件改名
35     print '*** updated directory listing:'
36     print os.listdir(cwd)   #print example文件夹下的文件名
37
38     path=os.path.join(cwd,os.listdir(cwd)[0])   #将example文件夹路径和filetest.txt文件名合并,也就是filetest.txt的完整路径
39     print '*** fulle file pathname'
40     print path
41     print '*** (pathname,basename)=='
42     print os.path.split(path) #将路径分开成文件夹路径和文件名
43     print '**8 (filename,extension)=='
44     print os.path.splitext(os.path.basename(path))  #将文件名split生成一个元组,得到('filetest', '.txt')
45
46     print '*** displaying file contents:'
47     fobj=open(path)
48     for eachline in fobj:
49         print eachline,
50     fobj.close()
51
52     print '*** deleting test file'
53     os.remove(path) #删除此文件,因为path是此文件的完整路径
54     print '*** updated directory listing:'
55     print os.listdir(cwd) #此时应该为空
56     os.chdir(os.pardir) #返回当前路劲的父路径(上一层路径),也就是桌面
57     print '*** deleting test directory'
58     os.rmdir('example') #删除example文件夹路径
59     print '*** done'

View Code

课后习题

9-6.文件比较.写一个比较两个文本文件的程序,如果不同,给出第一个不同处的行号和列号.

 1 FA=raw_input("please input 1st file's path:")
 2 FB=raw_input("please input 2nd file's path:")
 3 file_a=open(FA,'r')
 4 file_b=open(FB,'r')
 5 a_rl=file_a.readlines()
 6 b_rl=file_b.readlines()
 7 file_a.close()
 8 file_b.close()
 9 MinRow=min(len(a_rl),len(b_rl)) #得到最小行数
10 for r in range(MinRow+1):
11     if a_rl[r]!=b_rl[r]:
12         print 'row:%d' % r+1
13         #得到第一个不同行的最小列数
14         MinCol=min(len(a_rl[r]),len(b_rl[r]))
15         for c in range(MinCol+1):
16             if a_rl[r][c] != b_rl[r][c]:
17                 print 'column:%d' % c+1
18                 break
19         break

View Code

9-9.python文档字符串.进入python标准库所在的目录,检查每个.py文件看是否有_doc_字符串,如果有,对格式进行适当的整理归类.你的程序执行完毕后,应当生成一个漂亮的清单.里边列出哪些模块有文档字符串,以及文档字符串的内容,清单最后附上那些没有文档字符串模块的名字.

 1 import os
 2 #标准库的路径
 3 dir='c:/python27/lib'
 4 #切换到此路径
 5 os.chdir(dir)
 6 #此路径下的所有文件的序列
 7 allfile=os.listdir(dir)
 8 #筛选出类型为py的文件
 9 allpy=[file for file in allfile if file[-3:]=='.py']
10 #定义字典和序列,将有doc的文件存入字典,没有doc的文件存入序列
11 py_doc={}
12 py_no=[]
13 for lj in allpy:
14     f=open(lj,'r')
15     file=f.readlines()
16     #将第一行写入doc
17     doc=file[0][3:]
18     #判定如果第一行的前三个字符为""",则有doc
19     if file[0][0:3]=='"""':
20         #将py的doc写入doc字符串
21         for r in range(1,len(file)):
22             #如果遇到下一个""",则停止写入doc字符串
23             if file[r][0:3]=='"""':
24                 break
25             doc+=file[r]
26         #以文件名为key,doc为value,存入字典
27         py_doc[lj]=doc
28     else:
29         #将没有doc的文件加入到序列中
30         py_no.append(lj)
31 #输出
32 print '***py has doc:'
33 for lj,doc in py_doc.items():
34     print '****************************************',lj,':'
35     print doc
36 print '***py has not doc:'
37 print ' '.join(py_no)

View Code

转载于:https://www.cnblogs.com/alvysinger/p/4444205.html

corepython第九章:文件和输入输出相关推荐

  1. Python核心编程(第九章)--文件和输入输出

    文件内建函数: open()函数提供了初始化输入/输出操作的通用接口 open()基本语法:file_object = open(filename,access_mode='r',buffering= ...

  2. 第九章 文件处理(IO) ② 代码

    第九章 文件处理IO 代码 1.课前测试 2.异常捕获 try{}-catch{} 3.创建目录/文件 File 文件的基本操作 4.获取目录所有子文件名/子级文件对象数组 5.遍历目录下的文件 6. ...

  3. python - 啃书 第九章 文件访问

    概述 计算机文件是存储在外部存储器上的数据集合.通常计算机处理的大量数据都是以文件的形式组织存放的,操作系统也是以文件为单位对数据进行管理的. 每个文件都有一个文件名,文件名由基本名和扩展名组成,不同 ...

  4. Python核心编程读笔 8: 文件和输入输出

    第九章 文件和输入输出 一.文件内建函数.方法.属性 1 文件内建函数 file_object = open(file_name, access_mode='r', buffering=-1) 工厂函 ...

  5. c语言第9章实验报告,《经典规范C语言程序设计》实验报告(第九章)文件程序设计.doc...

    <经典规范C语言程序设计>实验报告(第九章)文件程序设计 <高级语言程序设计>实验报告 班级: 学号: 姓名: 成绩: 实验日期: 年 月 日 实验题目: 实验九 文件程序设计 ...

  6. 鸟哥的Linux私房菜(基础篇)- 第九章、文件与文件系统的压缩与打包

    第九章.文件与文件系统的压缩与打包 最近升级日期:2009/08/20 在 Linux 底下有相当多的压缩命令可以运行喔!这些压缩命令可以让我们更方便从网络上面下载大型的文件呢!此外,我们知道在 Li ...

  7. 《C语言程序设计》第五版谭浩强课后答案 第九章《用户自己建立数据类型​》习题答案 (大一大二、考研、计算机二级必看)

    第九章<用户自己建立数据类型​>习题答案 1.定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年问题. 2.写一个函数days,实现第1 题的计算.由主函数将年.月. ...

  8. 《C++Primer》第九章-顺序容器-学习笔记(1)-顺序容器定义与操作

    <C++Primer>第九章-顺序容器-学习笔记(1) 文章目录 <C++Primer>第九章-顺序容器-学习笔记(1) 摘要 顺序容器的定义 容器元素的初始化 将一个容器初始 ...

  9. 第九章 Django框架——csrf请求伪造和csrf_token使用

    第九章 Django框架--csrf请求伪造和csrf_token使用 一.csrf请求伪造 二.csrf_token使用 三.简单的csrf_token应用 四.Ajax使用csrf_token 一 ...

最新文章

  1. PHP和MySQL Web开发从新手到高手,第8天-创建categories管理页面
  2. Android 网络连接--Wifi/3G
  3. VS2017 Intelligense C++ 设置的几个重点
  4. nginx upstream 常用的几种调度方式
  5. Spring @Transactional注解浅谈
  6. 软件测试web和app,软件测试如何快速进阶?过来人科普Web与App测试5大区别!
  7. html原生ajax
  8. wifi技术扫盲-MIMO
  9. win系统设置定时开机
  10. 【刷题篇】鹅厂文化衫问题
  11. PTA 7-10 古风排版
  12. 非线性回归分析及其Matlab实现
  13. 如何用光盘映像文件重装服务器系统,光盘映像文件如何装系统_通过光盘映像文件装系统的方法...
  14. 在线生成txt图案或者logo
  15. 2017年7月工作总结
  16. 深度解析京东个性化推荐系统
  17. unity pdg 设置隐藏不需要的节点以及实现自动勾选自动加载项
  18. 无线网络监控分析工具
  19. Java——Jsoup方式的IP代理服务器的使用
  20. mysql YEARWEEK(date[,mode]) 函数

热门文章

  1. 你听说过反摩尔定律吗?
  2. pytorch 状态字典:state_dict 模型和参数保存
  3. LeetCode简单题之实现 strStr()
  4. 聚类Clustering
  5. MinkowskiEngine demo ModelNet40分类
  6. 从PyTorch到ONNX的端到端AlexNet
  7. 大数据目标检测推理管道部署
  8. PHP获取今天,昨天,本月,上个月,本年 起始时间戳
  9. 在 react 里使用 antd
  10. oracle 开链,欧链OracleChain开启Dapps应用新时代