`
陈三许
  • 浏览: 7992 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

python笔记8 文件和异常

阅读更多
###从文件中读取数据
#读取整个文件
with open("1.txt") as file_object:   #在当前执行的文件所在的目录中查找指定的文件(1.txt)
contents=file_object.read()
print(contents.rstrip())   #方法rstrip()删除字符串末尾的空白

#文件路径
with open("ce/2.txt") as file_object:   
#ce与程序文件在同一目录下,2.txt在ce文件夹中#还可以使用绝对路径(精确路径)
#在文件路径中时用反斜杠(\),或者斜杠(/)#
contents=file_object.read()
print(contents.rstrip())

#逐行读取
filename='1.txt'
with open(filename) as file_object:
for line in file_object:
print(line.rstrip())

#创建一个包含文件各行内容的列表   readlines()方法:从文件中读取每一行 并将其存储在一个列表中;
filename='1.txt'
with open(filename) as file_object:
lines=file_object.readlines()
for line in lines:
print(line.rstrip())

#使用文件中的内容
filename='1.txt'
with open(filename) as file_object:
lines=file_object.readlines()

contents=''  #新建用于存储的变量#
for line in lines:
contents+=line.strip()  #消除所有空白符
print(contents) #可用[:]显示前几位数
print(len(contents))


##写入文件
#写入空文件夹 (写入的是文件不存在,则会自动创建,若存在则会清空原文件)
filename='3.txt'
with open(filename,'w') as file_object:    #第一个实参为文件,第二个实参为模式实参(省略则默认为只读模式)
"""读取模式'r',写入模式'w',附加模式'a',能读取和写入的模式‘r+’"""
file_object.write("I love programing.")

#附加到文件
filename='3.txt'
with open(filename,'a') as file_object:   
file_object.write("I love creating new game.")

##异常
#处理ZeroDivisionError异常
"""try-except代码块"""
try:
print(5/0)
except ZeroDivisionError:
print("You can divide by zero!")

"""try-except代码块和else代码块"""
#进行简单的除法运算
while True:
message_1=input('The first number:')
if message_1=='q':
break
message_2=input('The second number:')

try:
result=int(message_1)/int(message_2)
except ZeroDivisionError:
print('You can divide by zero!')
else:
print(result)

#处理FileNotFoundError异常
filename='1.txt'
try:
with open(filename) as file_object: 
contents=file_object.read()
except FileNotFoundError:
message='Sorry,the file '+filename+' does not exist.'
print(message)
else:
print(contents)

#分析文本 .split()方法 :以空格为分隔符将字符串分拆成多个部分,并将其存储到一个列表中
"""计算文件中大概有多少个单词"""
words=contents.split()
num_words=len(words)
print(num_words)

#使用多个文件
def count_words(filename):
"""计算一个文件夹大致有多少个单词"""
try:
with open(filename) as filename_object:
contents=filename_object.read()
except FileNotFoundError:
pass  #失败时一声不吭
else:
words=contents.split()
num_words=len(words)
print('The file '+filename+' has about '+str(num_words)+' words.')
filenameS=['1.txt','其他.txt']
for filename in filenameS:
count_words(filename)


##存储数据  模块json
#json.dump()存储数字列表
import json  #导入模块
numbers=[4,5,59,9,7,89,12,6,9,494,45] #创建数字列表
filename='numbers.txt'   #存入的文件
with open(filename,'w') as f_obj:
json.dump(numbers,f_obj)  #两个实参: 要存储的数据 ; 存储数据的文件对象

#json.load()读取到内存中

#保存和读取用户生成的数据
"""存储用户名字"""
import json
username=input("What's your name?")

filename='username.json'
with open(filename,'w') as f_obj:
json.dump(username,f_obj)
print("We'll remeber you when you come back,"+username.title()+'.')
"""读取已保存的数据"""
import json
filename='username.json'
with open(filename) as f_obj:
username=json.load(f_obj)
print("Welcome back,"+username+"!")

"""-------------------------"""
import json
def get_stored_username():
"""如果存储了用户名,就获取他"""
filename='username.json'
try:
with open(filename) as f_obj:
username=json.load(f_obj)
except FileNotFoundError:
return None
else:
return username

def get_new_username():
"""提示用户输入用户名"""
username=input("What's your name?")
filename='username.json'
with open(filename,'w') as f_obj:
json.dump(username,f_obj)
return username

def greet_user():
"""问候用户,并指出名字"""
username=get_stored_username()
if username:
print("Welcome back,"+username.title()+'!')
else:
username=get_new_username()
print("We'll remeber you when you come back, "+username.title()+'.')
greet_user()
1
0
分享到:
评论

相关推荐

    python学习笔记-文件与异常

    总结起来,“Python学习笔记-文件与异常”可能涵盖了文件操作的各个方面,包括基本操作、异常处理、缓冲和性能优化,以及高级特性。通过深入学习这些内容,开发者将能够编写出更稳定、更易于维护的Python程序。

    Python笔记 ,python笔记全,Python源码.zip

    这份“Python笔记全,Python源码”的压缩包很可能是为了帮助初学者或有经验的开发者深入理解Python语言的核心概念和实践技巧。以下是根据标题和描述可能包含的一些关键知识点: 1. **基础语法**:Python的基础包括...

    菜鸟的Python笔记

    本篇Python笔记将从多个方面对Python进行介绍,包括其安装过程、基本编程概念、数据类型、基本语句、控制结构、函数使用等,旨在帮助初学者快速入门并掌握Python的基本知识。 一、安装Python 要使用Python,首先...

    Python 笔记源码综合下载.zip

    在学习Python笔记源码时,你将接触到这些概念的实际应用,通过阅读和运行源码,可以加深对Python的理解并提升编程能力。源码中可能包括了各种示例,如函数实现、面向对象设计、数据处理流程等,这些都是掌握Python...

    python笔记.rar

    以上只是对这份"python笔记"内容的部分概述,实际笔记中可能还包括更多主题,如异常处理、正则表达式、网络编程、多线程等。通过深入学习和实践,你将能够熟练掌握Python的基础知识,为进一步探索更高级的编程概念...

    Python笔记 ,python笔记全,Python

    通过"Python笔记",学习者可以逐步了解和熟悉Python编程语言,从而为后续深入学习和应用Python打下坚实基础。这份资料可能以实例驱动的方式讲解,便于理解,并且可能包含练习题和解答,帮助巩固学习效果。对于那些...

    python笔记整理

    这些"python笔记整理"涵盖了Python的基础知识和进阶概念,是学习和巩固Python技能的重要资源。以下是对笔记内容的详细解读: 1. **基础语法**:Python的语法简洁而直观,包括变量赋值、数据类型(如整型、浮点型、...

    从零学Python笔记

    10. **上下文管理器**:通过实现`__enter__`和`__exit__`方法,Python对象可以成为上下文管理器,用于资源的自动获取和释放,常见于文件操作和数据库连接。 学习Python时,你可以从编写简单的脚本开始,逐步掌握...

    python核心笔记pdf

    "Python核心笔记PDF"是一份深入浅出的教程,旨在帮助初学者和有经验的开发者更好地理解和掌握Python的核心概念。 1. **基础语法**:Python的基础包括变量赋值、数据类型(如整型、浮点型、字符串、布尔型)、列表、...

    千峰python课件笔记+源码 (凯哥)

    '千锋python基础教程:7、装饰器&偏函数与作用域与异常处理与文件读写' 千锋python基础教程:8、os与窗口控制与内存修改与语言 第二章前端基础 1、html&css;基础 2、html&css;提升 3、JavaScript基础 4、...

    疯狂Python讲义笔记.pdf

    本笔记详细记录了Python的学习要点,包括变量和简单类型、数据结构、函数和类、异常处理、模块和包、文件操作、数据库编程、并发编程、网络编程、数据可视化和网络爬虫等多个方面,是学习Python不可多得的参考资料。...

    Python笔记源码python学习

    这份“Python笔记源码”显然是一份关于Python编程的学习资料,可能包含了基础语法、数据结构、函数、类与对象、模块化编程、异常处理、文件操作等多方面的内容。 首先,让我们从基础语法开始。Python的基础语法包括...

    Python3中文笔记

    8. **异常处理**: 通过try-except语句来捕获和处理程序运行时可能出现的错误,提高代码的健壮性。 9. **面向对象编程**: Python支持面向对象编程,包括类的定义、对象的创建与使用、继承、封装、多态等概念。 10. ...

    Python学习笔记.pdf

    ### Python学习笔记知识点详解 ...通过以上知识点的梳理,我们可以看出,“Python学习笔记.pdf”涵盖了Python语言的基础到高级的多个方面,是一份全面且实用的学习材料,适合初学者到有经验的开发者阅读和参考。

    python学习笔记+源码练习

    "Python笔记"部分可能涵盖了以下几个核心主题: 1. **基础语法**:包括变量、数据类型(如整型、浮点型、字符串、布尔型等)、运算符、流程控制(如条件语句、循环语句)、函数定义和调用等。 2. **面向对象编程**...

    python 大神学习笔记

    作者雨痕详细总结了Python编程语言的许多关键知识点,这些内容覆盖了从基本语法到高级特性等多个层面,对于有一定编程基础的读者来说,这份笔记不仅可以帮助他们复习和巩固已学知识,也可以让他们系统地了解Python的...

    Python 笔记源码 (源码)

    这份"Python笔记源码"包含了丰富的学习资料,旨在帮助开发者深入理解Python编程,并提高实践能力。 源码是程序的基础,它是由人类可读的编程语言编写的文本文件。在Python中,源码通常以`.py`为扩展名。源码的重要...

    Python核心笔记

    8. **文件操作**:介绍如何读写文件,包括文本文件和二进制文件的处理。 9. **标准库与第三方库**:探讨Python内置的常用库,如os、sys、math等,以及如何使用第三方库,如NumPy、Pandas、Matplotlib等。 10. **...

Global site tag (gtag.js) - Google Analytics