ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python的光标移动、文件概念、函数简介

2022-06-30 22:02:42  阅读:144  来源: 互联网

标签:open Python 简介 read utf8 print txt data 光标


Python基础知识

文件内光标的移动

'''
a.xt=C你好啊
with open(r'a.txt','r',encoding='utf8') as f:
  data = f.read(3) #C你好
  print(data)
在文本模式下read括号内的数字表示读取几个字符
with open(r'a.txt', 'rb') as f:
  data = f.read(4) # C你
  print(data.decode('utf8'))
在二进制模式下read括号内的数字表示读取几个字节 (英文表示一个字节 中文三个字节起步
with open(r'a.txt', 'r', encoding='utf8') as f:
  data = f.read(3) # C你好
  print(data)
  data1 = f.read() #啊
  print(data1)
打印data1光标上面执行至“好”末尾,所以打印“啊”

tell() 获取光标移动的字节数
'''
seek(offset,whence)
offset 控制光标移动的位移量(字节)
whence  模式
0 基于文件开头移动多少字节
1 基于光标当前所在位置移动多少字节
2 基于文件末尾移动多少字节
ps:1和2只能在二进制模式下使用 0无所谓
"""
# with open(r'aaa.txt', 'r', encoding='utf8') as f:
#     data = f.read(3) # a你好
# print(data)
# print(f.tell()) # 7
# data1 = f.read()
# print(data1) # 啊

# with open(r'aaa.txt', 'rb') as f:
#     data = f.read(4) # a你
#     print(data.decode('utf8'))


# 代码控制光标移动
# with open(r'aaa.txt', 'r', encoding='utf8') as f:
#     data = f.read() # a你好
#     print(data)
#     f.seek(0,0)
#     print(f.read())


# with open(r'aaa.txt', 'rb') as f:
#     data = f.read(4)
#     print(data.decode('utf8')) # a你
#     # f.seek(-3,1)
#     # print(f.read().decode('utf8')) # 你好啊
#     f.seek(-3, 2)
#     print(f.read().decode('utf8')) # 啊

文件内数据修改

'''
机械硬盘存储数据的原理
1、数据的修改 其实是覆盖写并未添加删除
2、数据的删除 占有态和自由态
'''
# 方式1:覆盖式
with open(r'a.txt', 'r', encoding='utf8') as f:
   data = f.read()
new_data = data.replace('aaa', 'bbb')
with open(r'a.txt', 'w', encoding='utf8') as f1:
   f1.write(new_data)
'''
优点:硬盘只占用一块空间
缺点:数据量较大的时候会内存溢出
'''

# 方式2:重命名
import os

with open('a.txt', 'r', encoding='utf8') as read_f, \
       open('a.txt', 'w', encoding='utf8') as wrife_f:
   for line in read_f:
       wrife_f.write(line.replace('bbb', 'ccc'))
'''
优点:不会造成内存溢出
缺点:可能有那么一段时间需要占用硬盘两块空间 也有可能在内存中穿件没有刷到硬盘
'''

函数简介

'''
1、函数
不同的位置反复执行相同的代码
2、循环
相同的位置反复执行相同的代码
'''
l1 = [1, 2, 3, 4, 5, 6]
# 自定义统计方法
def my_len():
   value_couunt = 0
   for i in l1:
       value_couunt += 1
   print(value_couunt)
my_len()
优点:减少代码量
len() 属于内置函数
'''
自己写的代码缺陷:
1.只能统计某个固定的数据类型里面的数据值个数
  2、没有产生新的值(返回值)
'''

 

标签:open,Python,简介,read,utf8,print,txt,data,光标
来源: https://www.cnblogs.com/zzjjpp/p/16428755.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有