Python open读写文件实现脚本

简介:

1.open

使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。

1 file_object = open('thefile.txt')
2 try:
3   all_the_text = file_object.read( )
4 finally:
5   file_object.close( )

注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。

2.读文件

读文本文件

1 input = open('data''r')
2 #第二个参数默认为r
3 input = open('data')

读二进制文件

input = open('data', 'rb')

读取所有内容

1 file_object = open('thefile.txt')
2 try:
3   all_the_text = file_object.read( )
4 finally:
5   file_object.close( )

读固定字节

1 file_object = open('abinfile''rb')
2 try:
3   while True:
4     chunk = file_object.read(100)
5     if not chunk:
6       break
7     do_something_with(chunk)
8 finally:
9   file_object.close( )

读每行

list_of_all_the_lines = file_object.readlines( )

如果文件是文本文件,还可以直接遍历文件对象获取每行:

for line in file_object:
    process line

3.写文件

写文本文件
output = open('data', 'w')

写二进制文件
output = open('data', 'wb')

追加写文件
output = open('data', 'w+')

写数据

1 file_object = open('thefile.txt''w')
2 file_object.write(all_the_text)
3 file_object.close( )

写入多行
file_object.writelines(list_of_text_strings)

注意,调用writelines写入多行在性能上会比使用write一次性写入要高。

在Python一般都是运用内置函数open()与文件进行交互,下面说说具体用法


>>> import os

>>> os.getcwd()    #查看当前工作目录

'C:\\Python33'

>>> os.chdir('C:/Python33/HeadFirstPython/chapter3')   #切换包含数据文件的文件夹

>>> os.getcwd()     #查看切换后的工作目录

'C:\\Python33\\HeadFirstPython\\chapter3'




>>> data=open('sketch.txt')

>>> print(data.readline(),end='')

Man: Is this the right room for an argument?

>>> print(data.readline(),end='')

Other Man: I've told you once.




import os

print(os.getcwd())

os.chdir('C:\Python33\HeadFirstPython\chapter3')

man=[]    #定义列表man接收Man的内容

other=[]  #定义列表other接收Other Man的内容  

 try:

    data=open("sketch.txt")

    for each_line in data:

        try:

            (role, line_spoken)=each_line.split(':', 1)

            line_spoken=line_spoken.strip()

            if role=='Man':

                man.append(line_spoken)

            elif role=='Other Man':

                other.append(line_spoken)

        except ValueError:

                pass

    data.close()

except IOError:

    print('The datafile is missing!')

print (man)

print (other)

 

使用open()方法打开磁盘文件时,默认的访问模式为r,表示读,不需要特意指定;

要打开一个文件完成写,需要指定模式w,如data=open("sketch.txt","w"),如果该文件已经存在则会清空现有内容

要追加到一个文件,需要指定模式a,不会清空现有内容

要打开一个文件完成写和读,且不清空现有内容,需要指定模式w+;











本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1542653,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
数据库连接 Python
超越`open()`:深入理解Python的`with`语句
超越`open()`:深入理解Python的`with`语句
507 99
|
8月前
|
JSON 算法 API
深度分析小红书城API接口,用Python脚本实现
小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
|
8月前
|
JSON API 数据安全/隐私保护
【干货满满】分享微店API接口到手价,用python脚本实现
微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
|
8月前
|
JSON API 数据安全/隐私保护
【干货满满】分享淘宝API接口到手价,用python脚本实现
淘宝开放平台通过API可获取商品到手价,结合商品详情与联盟接口实现优惠计算。需使用AppKey、AppSecret及会话密钥认证,调用taobao.tbk.item.info.get接口获取最终价格。代码示例展示签名生成与数据解析流程。
|
8月前
|
JSON API 数据格式
深度分析大麦网API接口,用Python脚本实现
大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
|
8月前
|
JSON API 开发者
深度分析阿里妈妈API接口,用Python脚本实现
阿里妈妈是阿里巴巴旗下营销平台,提供淘宝联盟、直通车等服务,支持推广位管理、商品查询等API功能。本文详解其API调用方法,重点实现商品推广信息(佣金、优惠券)获取,并提供Python实现方案。
|
8月前
|
JSON API 数据安全/隐私保护
深度分析虾皮城API接口,用Python脚本实现
虾皮开放平台提供丰富的API接口,支持商品管理、订单处理及促销信息查询等功能。本文详解API认证机制与调用方法,基于Python实现商品价格及到手价获取方案,适用于电商数据分析与运营。
|
8月前
|
JSON API 数据安全/隐私保护
【干货满满】分享拼多多API接口到手价,用python脚本实现
拼多多开放平台提供商品价格查询API,通过“pdd.ddk.goods.detail”接口可获取商品基础价、优惠券、拼团价等信息。结合client_id、client_secret及签名机制实现身份认证,支持推广位ID获取专属优惠。本文提供完整Python实现,涵盖签名生成、接口调用与价格解析逻辑,适用于比价工具、导购平台等场景。
|
8月前
|
API 数据安全/隐私保护 开发者
深度分析苏宁API接口,用Python脚本实现
深度分析苏宁API接口,用Python脚本实现
|
8月前
|
前端开发 Shell API
深度分析58同城API接口,用Python脚本实现
58同城为国内知名分类信息平台,涵盖房产、招聘、二手车等多领域。本文基于网页抓包与解析,分享其非官方接口的Python实现方案,分析核心接口特性与反爬应对策略,适用于数据学习与信息聚合。注意:非官方接口存在风险,使用需遵守平台规则。

推荐镜像

更多
下一篇
开通oss服务