Python: 文件操作

文件操作

文件操作,无外乎读写,但首先你要打开文件。

打开文件

f = open(filename, mode) filename是文件名,可以带目录;mode是读写模式(可以是读,写,追加等);f是file handler。

关闭文件

f.close()

模式

  • "r": Open a file for read only
  • "w": Open a file for writing. If file already exists its data will be cleared before opening. Otherwise new file will be created
  • "a": Opens a file in append mode i.e to write a data to the end of the file
  • "wb": Open a file to write in binary mode
  • "rb": Open a file to read in binary mode

写入文件

注意,write不会自动加入\n,这一点不像print

f = open('myfile.txt', 'w')    # open file for writing
f.write('this is first line\n')   # write a line to the file
f.write('this is second line\n')  # write one more line
f.close()

读文件

总共有三个模式:

  • read([number]): Return specified number of characters from the file. if omitted it will read the entire contents of the file.
  • readline(): Return the next line of the file.
  • readlines(): Read all the lines as a list of strings in the file
读取所有内容
f = open('myfile.txt', 'r')
f.read()
'this is first line\nthis is second line\n'
f.close()
读取所有行
f = open('myfile.txt','r')
f.readlines()
['this is first line\n', 'this is second line\n']
f.close()
读取一行
f = open('myfile.txt','r')
f.readline()
'this is first line\n'
f.close()

Append

f = open('myfile.txt','a')
f.write('this is third line\n')
f.close()

遍历文件数据

f = open('myfile.txt','r')
for line in f:
    print line,
this is first line
this is second line
this is third line
f.close()

with open

with open('myfile.txt','r') as f:
    for line in f:
        print line,
this first line
this second line
this is third line
with open('myfile.txt','r') as f:
    for line in f.readlines():
        print line,    
this is first line
this is second line
this is third line

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏蓝天

log4j日志文件路径设置

假设有如下标准化的目录结构: $HOME |-- log |-- conf |-- bin |-- lib |-- data jar包放在l...

943
来自专栏从零开始学自动化测试

pytest文档16-标记失败xfail

当用例a失败的时候,如果用例b和用例c都是依赖于第一个用例的结果,那可以直接跳过用例b和c的测试,直接给他标记失败xfail 用到的场景,登录是第一个用例,登录...

1173
来自专栏编程思想之路

Android中资源各种引用方式?,@,@*等等

这几天做系统开发涉及到actionbar的style修改,要从framework层改,不知道?android:attr/是从哪儿引用的属性,给开发带来了很大的困...

1908
来自专栏数据库

JDBC常见错误及解决方案

最近很多同学在数据库编程这一块遇到了很多的问题,各种问题都有,但却苦于不知道怎么解决这些问题,以至于编程效率非常低。今天我就来总结一下在数据库编程时经常遇到的问...

2038
来自专栏python学习之旅

Python笔记(十三):urllib模块

(一)      URL地址 URL地址组件 URL组件 说明 scheme 网络协议或下载方案 net_loc ...

2766
来自专栏抠抠空间

Flask之flask-script

Flask-Scropt插件为在Flask里编写额外的脚本提供了支持。这包括运行一个开发服务器,一个定制的Python命令行,用于执行初始化数据库、定时任务和其...

1142
来自专栏天天

小程序前端页面连接数据库

在开始使用数据库 API 进行增删改查操作之前,需要先获取数据库的引用。以下调用获取默认环境的数据库的引用:

6257
来自专栏点滴积累

python基础操作以及hdfs操作

一、前言        作为一个全栈工程师,必须要熟练掌握各种语言。。。HelloWorld。最近就被“逼着”走向了python开发之路,大体实现的功能是写一...

3628
来自专栏游戏开发那些事

【Linux程序设计】之进程控制&守护进程

这个系列的博客贴的都是我大二的时候学习Linux系统高级编程时的一些实验程序,都挺简单的。

1242
来自专栏python3

linux批量kill进程

ps -ef|grep orderMatcherSend.php |grep -v grep|cut -c 9-15|xargs kill -9

762

扫码关注云+社区