欢迎使用CSDN-markdown编辑器
来源:互联网 发布:软件质量保证计划事例 编辑:程序博客网 时间:2024/05/17 05:02
我的博客原文
Python打开文件可以用open函数
语法:open(filename, mode[, buffering]),返回一个文件对象
mode为文件模式,buffering为缓冲,都是可选参数
Demo Github源码
环境及版本
Windows 10 x64 Python 2.7 Pycharm 4.5.1
文件模式(mode)
文件模式组合
缓冲(buffering)
读和写
# 读文件file_read = open(file_path, 'r+')print file_read.read()file_read.close()# 写文件file_wtite = open(file_path, 'a+')file_wtite.write("This is a test!".decode("utf-8")) # 中文UTF-8file_wtite.close()
读写行
# 读一行数据file_readline = open(file_path, 'r+')print file_readline.readline().decode("utf-8")# 读指定行数lines = file_readline.readlines(2)for line in lines: print linefile_readline.close()# 写入一个字符串列表str_list = ["a\n", "b\n", "c\n"]file_writelines = open(file_path, 'a+')file_writelines.writelines(str_list)file_writelines.close()
随机访问
# offset偏移offset_path = os.path.abspath('../doc/offset_test.txt')file_offset = open(offset_path, 'w')file_offset.write("abcdefg")file_offset.seek(2)file_offset.write('12346')file_offset.close()file_offset = open(offset_path)print file_offset.read()# tell返回当前文件位置file_tell = open(offset_path, 'w')file_tell.seek(3)print file_tell.tell()
关闭、清空缓冲
- 通常文件、流的关闭应该在try/except/finally语句中
# 此处打开文件try: # 文件操作except: # 捕获可能出现的异常finally: # 关闭文件 file.close()
- 还可以使用with语句(上下文管理器)
- 文件在语句结束后会自动关闭,即使引发了异常也是这样
with open("file_path") as f: do_something(f)
文件迭代
按字节迭代
file_name = open(file_path)while True: char = file_name.read(1) if not char: break process(char)file_name.close()
按行迭代
file_name = open(file_path)while True: line = file_name.readline() if not line: break process(line)file_name.close()
迭代全文
file_name = open(file_path)for line in file_name: process(line)file_name.close()
参考:Python基础教程(第2版·修订版)
转载请注明出处
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 基础知识点问题
- Spark性能相关参数配置 之 Shuffle 相关
- org.eclipse.wst.xsl.jaxp.debug.invoker.TransformationException: No embedded stylesheet instruction f
- 10年资深猎头揭露:他们为什么能年薪百万
- git简介
- 欢迎使用CSDN-markdown编辑器
- 【杭电oj】-2099-整除的尾数(求未知的后两位)
- php面向对象的简单用法
- [python]Django AttributeError 'tuple' object has no attribute 'regex'
- POJ2796 Feel Good(单调栈)
- 几个常用的Linux监控脚本
- 集成tiles3时遇到的问题,mark一下
- 静态注册广播接收者
- 网易游戏笔试题:输入一个数n,返回一个数组,数组中每个元素对应[0,n]每个数的二进制中1的个数