文件读写模式

描述
r 读取模式
w 写入模式
x 独占写入模式
a 附加模式
b 二进制模式(与其他模式结合使用)
t 文本模式(默认值,与其他模式结合使用)
+ 读写模式(默认值,与其他模式结合使用)

结构

test_file_read


def read_file():"""读取文件"""file_name = 'test.txt'# 使用绝对路径file_path = 'E:\\py-learn\\chapter07\\test.txt'# 使用 /也可以# 使用普通的方式来打开文件#f = open(file_name, encoding='utf-8')# with open(file_name, encoding='utf-8') as f:with open(file_path, encoding='utf-8') as f:# 读文件所有内容#rest = f.read()#print(rest)# 读取指定的几个内容#rest = f.read(8)#print(rest)#print(f.read(8))#随机读取#f.seek(10)#print(f.read(5))# 按行读取# rest = f.readline(8)# print(rest)# print(f.readline(8))# 读取所有行rest = f.readlines()print(len(rest))print(rest)for i in rest:print(i)# 关闭文件#f.close()if __name__ == '__main__':read_file()

test_file_write

import random
from datetime import datetimedef write_file():"""写入文件"""file_name = 'write_test.txt'# 以写入的方式打开文件f = open(file_name, 'w')# 写入一行f.write('hello')# 换行符f.write('\n')# 再写入一行f.write('world')f.close()def write_mult_line():"""向文件中写入多行内容"""file_name = 'write_mult_line.txt'with open(file_name, 'w', encoding='utf-8') as f:l = ['第一行', '\n', '第二行', '\n', '第三行']f.writelines(l)def write_user_log():"""记录用户的日志"""# 记录时间+记录用户的IDrest = '用户:{0}-访问时间{1}'.format(random.randint(1000, 9999), datetime.now())print(rest)# 文件名称file_name = 'write_user_log.txt'with open(file_name, 'a', encoding='utf-8') as f:f.write(rest)f.write('\n')def read_and_write():"""先读,再写入"""file_name = 'read_and_write.txt'with open(file_name, 'r+', encoding='utf-8') as f:read_rest = f.read()# 如果里面没有1,就写入一行数据 bbb# 如果有1.写入一行数据 aaaif '1' in read_rest:f.write('bbb')else:f.write('aaa')f.write('\n')if __name__ == '__main__':# write_file()# write_mult_line()# write_user_log()read_and_write()

read_and_write.txt

1aaa
bbb

test.txt

2014年,大学毕业,他选择报考警校穿上心仪已久的警服,成为了一名光荣的人民警察,这一年他25岁。
面对人生的岔路,他毅然选择了警徽,把过去的荣耀放在一边,开启了人生新篇章。他说自己的梦想就是在机铁轰鸣中守护申城的平安。2-2014年,大学毕业,他选择报考警校穿上心仪已久的警服,成为了一名光荣的人民警察,这一年他25岁。面对人生的岔路,他毅然选择了警徽,把过去的荣耀放在一边,开启了人生新篇章。他说自己的梦想就是在机铁轰鸣中守护申城的平安。

test2.txt

 File "E:/py-learn/chapter07/test_file_read.py", line 19, in read_file

write_mult_line.txt

第一行
第二行
第三行

write_test.txt

hello
world

write_user_log.txt

用户:3974-访问时间2020-10-05 14:57:48.706008
用户:6492-访问时间2020-10-05 14:57:49.200012
用户:7291-访问时间2020-10-05 14:57:49.568180
用户:9526-访问时间2020-10-05 14:57:49.968265

项目作业

import randomdef star_game():print("欢迎进入数字猜猜猜小游戏")m = input('数字区间起始值')n = input('数字区间终止值')def generate_star_end(m, n):d = random.randint(m, n)if m == n:print("数字区间起始值:" + str(m))print("数字区间终止值:" + str(n))print("您输入的区间数字相同!!请重新启动程序!!")print(d)print("数字区间起始值:" + str(m))print("数字区间终止值:" + str(n))print("产生的随机数区间为['{}','{}']".format(m, n))def judge_d(d):guess_n = input('请继续输入您猜测的数字')if guess_n > n or guess_n < m:print('对不起您输入的数字未在指定区间!')elif m > guess_n:print("Higher than the answer")elif n > guess_n:print("Lower than the answer")elif guess_n = d:print("恭喜你!只用了{}次就赢得了游戏")if __name__ == '__main__':def star_game():generate_star_end(1, 10)

引用:CSDN

from datetime import datetime
from random import randintdef guide_page(guide_word):""" 游戏启动引导语句控制台输出 """print('*' * 10 + guide_word + '*' * 10)def all_num(n):""" 判断n是否为数字类型 """return n.isdigit()def num_equal(ls):""" 判断列表或元组是否相等 """return ls[0] == ls[1]def set_final_num(num1, num2):""" 获取区间内随机数,用于用户猜数字 """num_list = [num1, num2]# 返回一个符合条件的filter对象num_str_list = list(filter(lambda n: all_num(n), num_list))# 判断用户输入的是否为数字,并且两个数字不能相等,且起始区间要小于终止区间if len(num_str_list) != 2:return Falsenum_list = construct_range_value(num1, num2)if num_equal(num_list) or num_list[0] > num_list[1]:return Falseprint("所产生的随机数区间为:[{0}, {1}]".format(num1, num2))return randint(num_list[0], num_list[1])def construct_range_value(num1, num2):""" 转换用户输入的两个区间数字str类型为int类型 """return [int(num1), int(num2)]def check_num_legal(num, ls):""" 判断num是否在区间范围内,不在返回False """if not all_num(num):return Falsenum = int(num)if num < ls[0] or num > ls[1]:return Falsereturn Truedef write_record(times, value):""" 记录每次输入的有效数字的游戏过程 """file_name = 'record.txt'value = "{0}: {1}\n".format(times, value)with open(file_name, 'a', encoding='utf-8') as f:f.write(value)f.flush()def main():""" 游戏入口函数 """while True:guide_page('欢迎进入数字猜猜猜小游戏')num1 = input('数字区间起始值:')num2 = input('数字区间终止值:')# 随机生成数random_final_num = set_final_num(num1, num2)if not random_final_num:print("对不起,请输入有效区间数字!")continue# 区间数字列表n1_n2 = construct_range_value(num1, num2)# 猜测次数count = 1while True:guess_num = input("请输入您猜测的数字:")# 检查用户输入的字符合法性is_legal = check_num_legal(guess_num, n1_n2)guess_num = int(guess_num)if not is_legal:print("对不起,您输入的数字未在指定区间!")continuenow_time = datetime.now()if guess_num > random_final_num:write_record(now_time, "第{0}次猜测的数字为:{1}".format(count, guess_num))count += 1print("higher than the answer")continueelif guess_num < random_final_num:write_record(now_time, "第{0}次猜测的数字为:{1}".format(count, guess_num))count += 1print("lower than the answer")continueelse:write_record(now_time, "第{0}次猜测的数字为:{1},并且赢得了游戏!".format(count, guess_num))print("恭喜您,只用了{0}次就赢得了游戏!".format(count))returnif __name__ == '__main__':main()

Python文件读写模式相关推荐

  1. python文件读取模式_day-2 python 文件读写模式r,r+,w,w+,a,a+的区别

    r+和w+都是可读可写,区别在于r+读文件时,不会覆盖之前的内容,之前的内容能够读出来:w+读时,会覆盖之前的内容:所以读文件时,用r或者r+ #读操作 r 1 filepath = 'aa.log' ...

  2. python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)

    模式 可做操作 若文件不存在 是否覆盖 r 只能读 报错 - r+ 可读可写 报错 是 w 只能写 创建 是 w+ 可读可写 创建 是 a 只能写 创建 否,追加写 a+ 可读可写 创建 否,追加写 ...

  3. 【Python 基础】Python 文件读写模式 mode

    with open('file', mode='r') as f:for line in f:data.append(ujson.loads(line)) 模式(mode) 描述 r 以只读方式打开文 ...

  4. python 文件读写模式

    区别 模式 可做操作 若文件不存在 是否覆盖 r 只能读 报错 - r+ 可读可写 报错 是 w 只能写 创建 是 w+ 可读可写 创建   是 a 只能写 创建 否,追加写 a+ 可读可写 创建 否 ...

  5. python 文件读写with open模式r,r+ w,w+ a,a+区别详解

    python 文件读写with open模式r,r+ w,w+ a,a+区别详解 python中的 with open主要要来进行文件读写的操作 在 Python 中使用文件的关键函数是 open() ...

  6. python文件读写_python基础-文件读写'r' 和 'rb'区别

    一.Python文件读写的几种模式: r,rb,w,wb 那么在读写文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r':默认值,表示从文件读取数据. 'w':表示要向文件写入数据, ...

  7. 肝!超好懂的 Python 文件读写教程!

    (扫码关注) 作者:黄伟呢 源自:数据分析与统计学之美 1.文件读写的流程 1)类比windows中手动操作txt文档,说明python中如何操作txt文件? ① windows中手动操作txt文件的 ...

  8. Python 文件读写

    Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件 ...

  9. Python 文件读写操作-Python零基础入门教程

    目录 一.Python 文件的打开 open 二.Python 文件的关闭 close 三.Python 文件的读取 read 1.read 函数 2.readline 函数 3.readlines ...

最新文章

  1. 文件包含漏洞——DVWA练习
  2. python3 image_python3 ImageTk 安装方法
  3. 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为...
  4. oppo服务器修改密码,修改锁屏密码(oppo锁屏密码更改)
  5. Windows10快速切换后台程序的快捷键!
  6. json-server 模拟数据
  7. NAND闪存(NAND Flash)颗粒SLC,MLC,TLC,QLC的对比
  8. 外卖CPS小程序源码分享
  9. 淘宝广告投放效果分析
  10. LinuxAndroid网络前缀和子网掩码的关系
  11. 2022 职业院校移动开发总结(uni-app)
  12. 对接支付宝、微信、第三方支付,超详细讲解+demo演示
  13. 关系数据库之关系代数
  14. Excel数据分析—饼图/圆环图
  15. 【数理逻辑四】谓词逻辑及形式系统 【上】
  16. java+如何画一个扇形_实现一个扇形的几种方法
  17. 树莓派mongodb实战
  18. vbs小游戏(猜字谜)
  19. 洛谷 CF7E Defining Macros 题解
  20. DASH推流及播放流程

热门文章

  1. c语言多线程转python多线程,一个Socket能否被多线程写入(转)
  2. python支持complex吗_Python中complex函数有什么用?
  3. 2017.3.25 矩阵快速幂 求斐波那契数列第n项
  4. oracle延迟约束不起作用,Oracle可延迟约束Deferable的使用
  5. 【英语学习】【WOTD】remittance 释义/词源/示例
  6. SpringCloud学习笔记(十)----服务熔断与限流 Sentinel
  7. java true false_关于java:如何存储boolean返回false / true的次数
  8. 快捷指令 python_快捷指令 pythonista wifi连接上局域网(自动)唤醒主机电脑或投影仪...
  9. ios 发送请求时按home_iPhone 是否能够升级至指定的 iOS 系统版本?
  10. 使用Nsight查找CE3的渲染bug