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 条评论
登录 后参与评论

相关文章

来自专栏PHP技术

PHP错误类型及屏蔽方法

程序只要在运行,就免不了会出现错误,错误很常见,比如Error,Notice,Warning等等。这篇文章具体说一下PHP的错误类型和屏蔽方法。在PHP中,主要...

3188
来自专栏小白安全

如何DIY一个简单的反弹Shell脚本

① 服务器与本地实现通讯 首先我们编写在服务器端需要运行的程序,这个程序主要的功能就是接收传入的数据然后对传入的数据进行处理,再然后就是把处理完的结果...

2626
来自专栏小特工作室

Navi.Soft31.代码生成器(含下载地址)

1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码...

1778
来自专栏jouypub

MySQL导入格式化数据

在有些场景下,我们需要把一批特定格式的数据导入到mysql数据库中,做法有很多,使用shell脚本、python都可以,今天来介绍两个更便捷的命令,mysqli...

580
来自专栏PHP技术

PHP实现文件下载断点续传

如果我们的网站提供文件下载的服务,那么通常我们都希望下载可以断点续传(Resumable Download),也就是说用户可以暂停下载,并在未来的某个时间从暂停...

1387
来自专栏iKcamp

React Native 网络层分析

文:志俊(沪江Web前端) 本文原创,转载请注明作者及出处 在使用React Native开发中,我们熟练的采用JavaScript的方式发送请求的方式发送...

3528
来自专栏逆向技术

32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式

    32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式 一丶RadAsm的配置和使用 用了怎么长时间的命令行方式,我们发现了几个问题 ...

3045
来自专栏九彩拼盘的叨叨叨

减少网站响应时间概要

783
来自专栏挖掘大数据

常见的3种Hive参数配置方法

Hive提供三种可以改变环境变量的方法,分别是:(1)、修改${HIVE_HOME}/conf/hive-site.xml配置文件;(2)、命令行参数;(3)、...

21110
来自专栏小特工作室

Navi.Soft31.代码生成器(含下载地址)

1系统简介 1.1功能简述 在Net软件开发过程中,大部分时间都是在编写代码,并且都是重复和冗杂的代码.比如:要实现在数据库中10个表的增删改查功能,大部分代码...

2029

扫码关注云+社区