文件

读取整个文件

with open('pi_30_digits.txt') as file_object :#Python在当前执行文件目录寻找指定文件
#filename = 文件的绝对路径或相对路径
#with open(filename) as file_object :
#open()打开文件;with在不再需要访问文件后将其关闭
contents = file_object.read()#读取文件内容为字符串类型;
print(contents.rstrip())#read()读取到文件到结尾时会返回一个空字符

逐行读取文件

filename = 'pi_digits.txt'

with open(filename) as file_object:
for line in file_object:#使用for循环实现逐行读取
print(line.rstrip())#别忘记每个print语句结束都会自动加上一个换行符哦

使用文件内容

使用with时ope()返回文件的对象仅在with代码块内可用,可使用方法readlines将其存储在一个列表中实现全局使用

filename = 'pi_digits.txt'

with open(filename) as file_object:
lines = file_object.readlines()#方法readlines()从文件中读取每一行,并将其存储在一个列表中
pi_string = ''#一个空字符用于储存圆周率
for line in lines:
pi_string += line.strip()#使用for循环组成圆周率
print(pi_string)
print(len(pi_string))
#print(pi_string[:52] + '...')切片打印,多用于大型文件,不易全部查看
float(pi_string)

替换文件中的内容

file_name = 'learning.txt'
with open(file_name) as my_python:
lines = my_python.readlines()
py_string = ''
for value in lines:
py_string += value.replace('Python', 'JAVA')#替换内容
print(py_string)

写入文件

rwar+ 在py中分别为:读、写、附加、可读可写模式

Python默认以只读模式打开文件,且Python只能将字符串写入文件;

以附加模式打开文件时写入的内容都将添加到文件末尾;如指定文件不存在,Python将自动创建一个空文件

filename = 'programming.txt'

with open(filename, 'w') as  file_object:#实参w,即以写入模式打开这个文件
file_object.write("I love programming")#函数write()写入文件时,不会在末尾添加换行符

异常

常见的异常对象:https://www.cnblogs.com/MR---Zhao/articles/12346749.html

使用try-except处理异常,让用户不再疑惑traceback

try:
'''可能发生异常的代码放在此处'''
except ZeroDivisionError:
'''发生异常的解决方案代码放在此处'''
else:
'''try的代码成功执行后要执行的代码放在这里'''

分析文本

方法split()以空格为分隔符将字符分拆成多个部分,并储存到一个列表中

def count_words(filename):
'''定义一个函数出来多个文件'''
try:
with open(filename) as f_obj:
contents = f_obj.read()
except FileNotFoundError:
pass#发生异常时“一声不吭”(不显示错误)
else:
words = contents.split()#以空格为分隔符将words中的内容分拆成多个部分,并储存到一个列表中
num_words =len(words)#测试列表长度,即words中的单词数
print("The file " + filename + " has about " + str(num_words) + " words." )
'''创建列表循环实现处理大量文本功能'''
filenames = ['alice.txt', 'siddhartha.txt', 'moby_dick.txt']
for filename in filenames:
count_words(filename)

储存数据

json.dump()  接受两个实参:要存储的数据以及可用于存储数据的文件对象

import json#导入模块

numbers =[2, 3, 5, 7, 11, 16]

filename = 'numbers.json'
with open(filename, 'w') as f_obj:
json.dump(numbers, f_obj)#将前者储存到后者

储存用户输入

import json

filename = 'username.json'
username = input("你的名字: ") with open(filename, 'w') as f_obj:
json.dump(username, f_obj)#储存用户输入
print(" We'll rember you when you come back, " + username + "!")

json.load()

import json

filename = 'numbers.json'
with open(filename) as f_obj:
number = json.load(f_obj)#读取文件内容到内存中
print(number)

Python 文件&异常 初学者笔记的更多相关文章

  1. Python 测试代码 初学者笔记

    单元测试 每完成一个单元测试,Python都会打印一个字符: 测试通过打印一个句点:测试引发错误打印E:测试导致断言失败打印F 模块unittest import unittest from name ...

  2. Python If&字典 初学者笔记

    and 当俩个条件都满足时为True否为False or 任意一个条件满足时为True否为Flase not in  通常用于If语句,用来判断一个元素是否不在某个列表中 banned_user = ...

  3. Python 变量&列表 初学者笔记

    变量 消除空白后该变量需要存储一下(此操作常用于“储存用户输入并对其进行清理”) strip()消除两端空白 lstrip()消除前部空白 rstrip()消除末尾空白   upper()全部字母大写 ...

  4. python文件读写及形式转化和CGI的简单应用

    一丶python文件读写学习笔记 open() 将会返回一个 file 对象,基本语法格式如下: open(filename, mode) filename:包含了你要访问的文件名称的字符串值. mo ...

  5. [Python学习笔记][第七章Python文件操作]

    2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...

  6. Python学习笔记(二)-Python文件类型及编程模式

    Python环境搭建:linux,Windows... Linux下:[root@localhost StudyPython]# python #进入交互模式Python 2.7.11 (defaul ...

  7. Python 文件学习笔记

    程序1 在上一题的基础上扩展,用户可以随意输入要显示的行数. 如输入2:5表示打印第2行到第5行的内容: 输入:2表示打印从开头到第2行的内容: 输入4:表示打印从第4行到结尾的内容: 输入:表示打印 ...

  8. Requests:Python HTTP Module学习笔记(一)(转)

    Requests:Python HTTP Module学习笔记(一) 在学习用python写爬虫的时候用到了Requests这个Http网络库,这个库简单好用并且功能强大,完全可以代替python的标 ...

  9. python网络爬虫学习笔记

    python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...

随机推荐

  1. 90万条数据玩转RFM用户分析模型

    RFM,是一种经典的用户分类.价值分析模型: R,Rencency,即每个客户有多少天没回购了,可以理解为最近一次购买到现在隔了多少天. F,Frequency,是每个客户购买了多少次. M,Mone ...

  2. JavaScript 与 Java 有什么不同?

    JavaScript 编程语言是由 Netscape,Inc. 开发的,它并不是 Java 平台的一部分. JavaScript 不会创建小应用程序或独立应用程序.在最常见的形式中,JavaScrip ...

  3. Go语言实现:【剑指offer】二维数组中的查找

    该题目来源于牛客网<剑指offer>专题. 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一 ...

  4. 从底层入手,解析字节码增强和Btrace应用

    这篇文章聊下字节码和相关的应用. 1.机器码和字节码 机器码(machine code),学名机器语言指令,有时也被称为原生码(Native Code),是电脑的CPU可直接解读的数据. 通常意义上来 ...

  5. [jQuery]顶级对象$(二)

    $ 是 jQuery 的缩写 <script> # 方法1. $ 是jQuery的别称 弹出提示 $(function () { alert(11) ); # 方法2 jQuery(fun ...

  6. display:table的用法

    目前,在大多数开发环境中,已经基本不用table元素来做网页布局了,取而代之的是div+css,那么为什么不用table系表格元素呢? 1.用DIV+CSS编写出来的文件k数比用table写出来的要小 ...

  7. webapi+Quartz.NET解决若干定时程序同时运行的问题

    项目现状: 有若干定时程序需要自启动运行,为了简便程序部署等问题,采取这种办法把定时程序集中管理到webapi中跟随api发布 代码架构介绍: 新建一个类库,类库引用Quartz(Quartz.2.3 ...

  8. C#设计模式学习笔记:(22)备忘录模式

    本笔记摘抄自:https://www.cnblogs.com/PatrickLiu/p/8176974.html,记录一下学习过程以备后续查用. 一.引言 今天我们要讲行为型设计模式的第十个模式--备 ...

  9. 现在连Linux都搞不懂,当初我要是这么学习操作系统就好了!

    原创声明 本文首发于微信公众号[程序员黄小斜] 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 简介 学习编程,操作系统是你必须要掌握的基础知识,那么操作系统到底是什么呢? 这还 ...

  10. nuget打包上传

    准备工作 下载nuget.exe,以及gui推送编辑工具 Nuget Package Explorer (可选) 设置nuget环境变量. 流程 完成项目 cmd控制台cd到项目目录下(项目目录不是解 ...