#.python学习笔记:在文本编辑器中新创建一个文件,写几句话老总结你至此学到的python知识
#其中‘In Python you can’ 打头。将这个文件命名为learning_python.txt.并将其存储到为本章学习目录下
#编写一个程序,它读取这个文件,并将你序偶写的内容打印三次:第一次打印时读取整个文件
#第二次打印时遍历文件对象,第三次打印时将各行存储在一个列表中,再在with代码块外打印它们 with open('learning_python.txt') as file_object:
contents = file_object.read()
print(contents) filename = 'learning_python.txt' with open(filename) as file_object1:
for line in file_object1:
print(line.rstrip()) print('\n')
with open(filename) as file_object2:
lines = file_object2.readlines() for line in lines:
print(line.rstrip()) print('\n')
#.在1中完成的基础上,使用方法replace()将learning_python.txt中的Python替换成其它任意一门语言
filename = 'learning_python.txt'
with open(filename) as file_object1:
for line in file_object1:
line = line.replace('Python','Java')
print(line.rstrip())
#.访客:编写一个程序,提示用户输入其名字;用户作出响应后,将其名字写入到文件guest.txt中 guest_names = input("Enter your name: ")
with open('guest.txt','a') as file_object:
file_object.write(guest_names + '\n') #.访问名单:编写一个while循环,提示用户输入其名字。用户输入其名字后,在屏幕打印一句问候语
#并将一条访问记录添加到文件guest_book.txt中。确保这个文件中的每条记录都独占一行 while True:
print("Enter a to quit.")
names = input("Enter your name: ")
if names == 'q':
break
messages = "Hello! " + names
print(messages) with open('guest_book.txt','a') as file_object:
file_object.write(messages + '\n') #.关于编程的调查:编写一个while循环,询问用户为何喜欢编程。每当用户输入一个原因后,
#都将其添加到一个存储所有原因的文件中 while True:
print("Enter q to quit.")
reasons = input("Why do you like programming? ")
if reasons == 'q':
break
with open('reason_books.txt','a') as file_object:
file_object.write(reasons + '\n') #.加法运算:提示用户提供数值输入时,常出现的一个问题是,用户提供的是文本而不是数字
#在这种情况下,当你尝试将输入转换为整数时,将引发TypeError异常。
#编写一个程序,提示用户输入两个数字,再将它们相加并打印结果。在用户输入的任一个值不是
#数字时都铺获TypeError异常,并打印一条友好的错误消息。 while True: try:
first_number = int(input("Enter to the first number: "))
second_number = int(input("Enter to the second number: "))
sum = first_number + second_number
except ValueError:
print("Sorry,TypeError! please input again."
else:
print("The add result of two numbers:",sum) #.猫和狗:创建两个文件cat.txt和dog.txt,在第一个文件中至少存储三只猫的名字
#在第二个文件中至少存储三条狗的名字。编写一个程序,尝试读取这些文件,
#并将其内容打印到屏幕上。将这些代码放在一个try-except代码块中,以便文件
#不存在是捕获FileNotFound错误,并打印一条友好的消息,将其中一个文件移到另一个
#地方,并确认except代码块中的代码将正确执行。 def Openfile(filename):
try:
with open(filename) as file_read:
contents = file_read.read()
print(contents.rstrip()) except FileNotFoundError:
print("Sorry,The file " + filename + " does not exit!") filename = 'alice.txt'
Openfile(filename)
filename ='dog.txt'
Openfile(filename) #.修改在2中所编写的except代码块,让程序不存在时一言不发 def Openfile(filename):
try:
with open(filename) as file_read:
contents = file_read.read()
print(contents.rstrip()) except FileNotFoundError:
pass filename = 'alice.txt'
Openfile(filename)
filename ='dog.txt'
Openfile(filename) #.常见单词:找一些你想分析的图书,使用方法count()来确定特定单词或短语在字符串中出现的次数
def Ludong(filename):
try:
with open(filename) as file_object:
contents = file_object.read()
print(contents.rstrip())
print("The word appears " + str(contents.lower().count('ludong')) + " times.")
except FileNotFoundError:
print("The file " + filename + " does not exit!") filename = 'ludong.txt'
Ludong(filename)
#.喜欢的数字:编写一个程序,提示用户输入他喜欢的数字,并使用
#json.dump()将这个数字存储到文件中。再编写一个程序,从文件中读取这个值
#并打“I know your favorite number! It's 。。 import json def StoreNumber():
#如果存储数字就获取它
filename = 'usernumber.json'
try:
with open(filename) as f_obj:
usernumber = json.load(f_obj)
except FileNotFoundError:
return None
else:
return usernumber def get_new_number():
#提示用户输入数字
usernumber = input("Enter to your favorite number: ")
filename = 'usernumber.json'
with open(filename,'w') as f_obj:
json.dump(usernumber,f_obj)
return usernumber def ReadNumber():
#读取数字
usernumber = StoreNumber()
if usernumber:
print("I Know your favorite number! It's " + str(usernumber))
else:
usernumber = get_new_number()
print("I'll remember the number: " + str(usernumber)) ReadNumber() #.验证用户:最后一个remember_me.py版本假设用户要么已输入其用户名,要么是首次运行改程序。
#我们应修改这个程序,应对这样的情形:当前和最后一次运行该程序的用户并非同一个人
#因此,在greet_user()中打印欢迎用户回来的消息前,先询问用户名是否是对的
#如果不对,就调用get_new_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_user():
#提示用户输入名字
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:
ask = "Your username is " + username +"?"+ "if not,please input N, "
ask += "if yes,input Y: "
ask_msg = input(ask)
if ask_msg == 'Y':
print("Welcome back," + username + '!')
else:
username = get_new_user()
print("We'll remember you when you come back, " + username + '!')
else:
username = get_new_user()
print("We'll remember you when you come back, " + username + '!') greet_user()

Python:从入门到实践--第十章--文件和异常--练习的更多相关文章

  1. python从入门到实践-10章文件和异常(括号问题)

    #!/user/bin/env python# -*- coding:utf-8 -*- # 1.从文件中读取数据with open('pi_digits.txt') as file_object: ...

  2. 【Python编程:从入门到实践】chapter10 文件和异常

    chapter10 文件和异常 10.1 从文件中读取数据 10.1.1 读取整个文件 with open("pi.txt") as file_object: contents = ...

  3. 读书笔记「Python编程:从入门到实践」_10.文件和异常

    10.1 从文件中读取数据  10.1.1 读取整个文件 with open(~) as object: contents=object.read() with open('C:/Users/jou/ ...

  4. Python 从入门到实践 试一试 参考代码

    这两天学习Python 看了python从入门到实践的书籍,里面有课后题“试一试” 然后就跟着写了,代码在以下地址,如果需要自取 https://files.cnblogs.com/files/fud ...

  5. Python数据分析入门与实践 ✌✌

    Python数据分析入门与实践 (一个人学习或许会很枯燥,但是寻找更多志同道合的朋友一起,学习将会变得更加有意义✌✌) 这是一个数据驱动的时代,想要从事机器学习.人工智能.数据挖掘等前沿技术,都离不开 ...

  6. Python数据分析入门与实践

    Python数据分析入门与实践 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关 ...

  7. Python从入门到超神之文件处理

    一.文件处理流程(python默认是utf-8编码) 打开文件函数:open(文件路径,encoding=‘utf-8’)注意:open会检索系统的编码,所以需要调整一致否则报错 例如:fi=open ...

  8. Python 从入门到实践 - Web应用程序

    一.创建项目 1.建立虚拟环境 python -m venv ll_env # 出现ll_env文件夹 2.激活虚拟环境 source ll_env/bin/activate # 要停止使用虚拟环境, ...

  9. Python数据分析入门与实践 学习

    pandas是一个Python语言的软件包,在我们使用Python语言进行机器学习编程的时候,这是一个非常常用的基础编程库.本文是对它的一个入门教程.pandas提供了快速,灵活和富有表现力的数据结构 ...

随机推荐

  1. 用python完成带有进度条的圆周率计算

    代码如下:import math import time scale= s,m,=, print("执行开始".center(scale//2, "-")) s ...

  2. ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key constraint fails ()

    centos7.5 删除表空间文件失败 问题: mysql> alter table country discard tablespace; ERROR 1451 (23000): Cannot ...

  3. 【做题】SDOI2017硬币游戏——方程&概念处理

    原文链接 https://www.cnblogs.com/cly-none/p/9825339.html 题意:给出\(n\)个长度为\(m\)的互不相同的01串.有另一个串,初始为空.不断进行如下操 ...

  4. 20175312 2018-2019-2 《Java程序设计》第3周学习总结

    20175312 2018-2019-2 <Java程序设计>第3周学习总结 教材学习内容总结 已依照蓝墨云班课的要求完成了第四章的学习,主要的学习渠道是PPT,和书的课后习题. 总结如下 ...

  5. Learning-Python【补充篇】:Python之可变类型与不可变类型

    可变类型 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型 不可变类型 值变了,id也跟着变,证明是重新开辟一块内存空间生成了新的值,而不是在改变原值,原值是不可变类型

  6. 3rd,Python登录模拟

    需求: 1. 用户输入帐号密码进行登陆 2. 用户信息保存在文件内 3. 用户密码输入错误三次后锁定用户 #导入getpass库,用于密码验证 import getpass #定义用户名.密码 _us ...

  7. 将nginx添加至service服务

    一.问题描述: 无法用service命令启动nginx 二.问题分析: /etc/init.d/目录下缺少nginx默认启动脚本 三.问题解决: 在/etc/init.d/路径下添加脚本文件,名称为n ...

  8. yii中的restful方式输出并调用接口和判断用户是否登录状态

    //创建一个控制器接口 返回的是restful方式 <?php namespace frontend\controllers; use frontend\models\Fenlei; use f ...

  9. XXX系统业务建模

    1.识别业务参与者 参与者包括管理员.填报人员.审核人员和领导.          2.识别业务用例(用例图展现) 3.详述业务用例(填报需求这一用例,以活动图详细展现如下) 4.建立业务对象模型

  10. 学习笔记-AngularJs(八)

    在使用form.FormController和ngModel.NgModelController之前,先来学习一下怎么一个ng-model-options指令,觉得怎么这个指令挺好用的,我们知道ng- ...