1  python内建函数open和file

文件打开方便读取:f = open('文件名','模式','缓冲模式')         #'r'读取,'w'写入(先清空后创建).'a'追加

详情文件模式:
r 以读方式打开
rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)
w 以写方式打开 (必要时清空)
a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+ 以读写模式打开
w+ 以读写模式打开 (参见 w )
a+ 以读写模式打开 (参见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (参见 w )
ab 以二进制追加模式打开 (参见 a )
rb+ 以二进制读写模式打开 (参见 r+ )
wb+ 以二进制读写模式打开 (参见 w+ )
ab+ 以二进制读写模式打开 (参见 a+ )

文件读取:

f.read()     #读取所有文件内容到字符串,从开头到结尾
        f.readline()        #读取文件的一行作为字符串,一行一行地读,比较费时间     遍历:for i in range(10): \n    print f.readline()
        f.readlines()          #读取所有行,输出一个字符串的列表,比较占内存

文件输出:

f.write()     #把内容写进文件中去

f.writelines()     #接受一个字符串列表作为参数,将他们写入文件

#实例:把input的内容写到t1.txt中
f = open('t1.txt','w')
while True:
aline = raw_input('enter a line,"."to quit:')
if aline != '.':
f.write(aline+'\n')
else:
break
f.close()

2 os包相关操作

当前路径: print os.getcwd(),'获得当前路径'

文件夹和文件夹名称: print os.path.split('D:\pytharm\学习文件\py5.py')    #将文件的路径和文件名分开,放到元组中

print os.path.join('D:\pytharm\学习文件','shiyan.txt'),    #把路径和文件名组合起来'

路径和文件:print os.path.dirname('D:\pytharm\学习文件\lianxi.txt'),    #输出文件中的文件夹部分,元组'

1. os.name——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'

2. os.getcwd()——得到当前工作的目录。

3. os.listdir()——指定所有目录下所有的文件和目录名

4. os.remove()——删除指定文件

5. os.rmdir()——删除指定目录

6. os.mkdir()——创建目录

7. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False

8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。

9. os.getcwd()——获得当前工作的目录(get current work dir)

13. os.chdir()——改变目录到指定目录

14. os.path.getsize()——获得文件的大小,如果为目录,返回0

15. os.path.abspath()——获得绝对路径。

16. os.path.join(path, name)——连接目录和文件名

3  实例(使用的是linux系统)#!/user/bin/python

#!/user/bin/python
#coding:utf-8 #打印出某文件夹下面的文件文件夹和子文件子文件夹的绝对路径 import os
allfile=[]
def dirList(path):
filelist=os.listdir(path)
for filename in filelist:
filepath= os.path.join(path,filename)
if os.path.isdir(filepath): # 递归调用本身:传入子文件的路径,listdir,遍历,文件名和路径合起来,判断是不是目录,
dirList(filepath)
allfile.append(filepath) return allfile afile=dirList('/home/daqing/daqing/testfile/user1')
print afile

4目录遍历简洁升级版

os.walk(path):该函数返回一个元组,元组的元素是:每次遍历的路径名,当前目录列表和文件列表

os.walk('/home/daqing/lianxi/testfile/user2')返回一个生成器类型,大体格式应当是('/home/daqing/lianxi/testfile/user2',['hehe'],['7777'])
import os
for path,d,filelist in os.walk('/home/daqing/lianxi/testfile/user2'):
for filename in filelist:
print os.path.join(path,filename) #返回结果:
/home/daqing/lianxi/testfile/user2/7777
/home/daqing/lianxi/testfile/user2/hehe/8888目

目录结构如下:

── user2
│   ├── 7777
│   └── hehe
│           ├── 8888
│           └── haha

  





最新文章

  1. mbed学习之Digital IO (一)
  2. 模拟退火算法求解旅行商问题(附c和matlab源代码)
  3. asp.net中当点击按钮时出现grid编辑弹框
  4. 面试问到struts1与struts2的解析对比
  5. jquery-ui-datepicker定制化,汉化,因手机布局美观化源码修改
  6. Spring 自动装配
  7. Linux驱动开发学习的一些必要步骤
  8. 外键约束列并没有导致大量建筑指数library cache pin/library cache lock
  9. 【Machine Learning in Action --5】逻辑回归(LogisticRegression)从疝气病预测病马的死亡率
  10. javase swing
  11. Git环境搭建以及上传到GitHub全文记录
  12. ecshop邮件订阅按“订阅”没反应
  13. Cordova使用build命令出错: Could not create the Java Virtual Machine.
  14. java自定义注解知识实例及SSH框架下,拦截器中无法获得java注解属性值的问题
  15. scrapy-redis功能简介
  16. 【原】Java学习笔记028 - 集合
  17. Luogu P3254 圆桌问题
  18. u-boot(五)内核启动
  19. hackerrank-knapsack
  20. Postman—命令执行脚本及生成报告

热门文章

  1. SCU-4527 NightMare2(Dijkstra+BFS) !!!错误题解!!!
  2. octave基本操作
  3. 以太网 ------ Auto-Negotiation(自动协商)
  4. java 打印乘法口诀表
  5. 剑指Offer_编程题_16
  6. 1、JPA-HelloWorld
  7. JAVA核心技术I---JAVA回顾
  8. springMVC的全局拦截器
  9. windows cmd命令 批处理bat 导增量jar包【原】
  10. Python复习笔记(六)网络编程(udp/tcp)