核心编程9 文件和文件的输入输出 (os模块)
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,否则False8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。9. os.getcwd()——获得当前工作的目录(get current work dir)13. os.chdir()——改变目录到指定目录14. os.path.getsize()——获得文件的大小,如果为目录,返回015. 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 allfileafile=dirList('/home/daqing/daqing/testfile/user1') print afile4目录遍历简洁升级版
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
转载于:https://www.cnblogs.com/0-lingdu/p/9431543.html
总结
以上是生活随笔为你收集整理的核心编程9 文件和文件的输入输出 (os模块)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java设置模式
- 下一篇: 你的微信二维码是唯一的吗?【微信二维码的