小学生都能学会的python(文件操作)

1. open("文件路径", mode="模式", encoding="编码")

文件的路径:
1. 绝对路径:
1. 从磁盘根目录寻找
2. 网络上的路径

2. 相对路径
相对于当前你这个程序所在的文件夹.(用的最多的)

模式
r 读. 只读模式
w 写 只能写

f = open("d:/sylar.txt", mode="w", encoding="utf-8")
f.write("周笔畅\n") # 写的时候. 先清空. 再写入. w
f.write("胡辣汤\n")
f.write("实付款\n")

f.flush()
f.close()

  

a 追加写, 只能写入

f = open("d:/sylar.txt", mode="a", encoding="utf-8")
f.write("娃哈哈") # 追加写
f.write("爽歪歪")
f.flush()
f.close()

  

b: bytes 这个时候处理文件的是字节
操作非文本文件的时候用带b的
rb
wb
ab

r+ 读写模式

f = open("菜单", mode="r+", encoding="utf-8")  # r+最常见
s = f.read(1) # 读取一个字符
print(s)
f.write("胡辣汤") # r+模式. 如果你执行读了操作. 那么写操作的时候. 都是写在文件的末尾. 和光标没有关系
# f.write("ab") # 在文件开头写入. 写入的是字节,把原来的内容盖上

# for line in f:
#     print(line)
# f.write("蛋炒饭")
# 正确用法: 先读后写
f.close()

  

w+ 写读模式

f = open("菜单", mode="w+", encoding="utf-8")  # 很少用.
f.write("疙瘩汤")
f.seek(0)   # 移动到开头
content = f.read()
print("读取的内容是", content)
f.flush()
f.close()

  

a+ 追加读模式

f = open("菜单", mode="a+", encoding="utf-8")
f.write("韭菜鸡蛋饺子")

f.seek(0)
content = f.read()
print(content)

  

r+b
w+b
a+b

光标:
移动到开头: seek(0)
移动到末尾: seek(0, 2)

f = open("菜单", mode="a+", encoding="utf-8")  # r+ a+ w+

# f.write("我要多写一点内容. 然后争取能看到效果")
# f.seek(0)
# print(f.read())
# f.seek(0)
# f.write("你")
#
# f.seek(0)
# print(f.read(1))
# f.seek(0)
# f.write("大米饭")
# f.write("大米粥")
# print(f.tell())
# f.seek(3) # 字节
# print(f.read(1))
# # print(f.read(1)) # 字符
# # print(f.read(1)) # 字符
# print(f.tell()) #字节
# 使用tell()可以知道光标在哪里
# seek()可以移动光标
# 读写的时候. 单位 字符
# 光标: 单位是字节
#  光标移动到末尾: seek(0,2)

# seek(偏移量, 位置)
# 位置: 0开头, 1当前位置, 2末尾
# 移动到末尾: seek(0, 2)

  

文件的修改:
1. 从源文件中读取内容. 修改内容. 写入到文件副本中.
2. 删除源文件. 重命名文件副本为源文件的名字

with open(..) as f

f = open("我的天呐", mode="r+", encoding="utf-8")
f.seek(9)
f.truncate(12) # 如果没有参数. 按照光标来阶段. 如果有参数. 截断到参数位置
f.flush()
f.close()

  关于修改文件

import os # 引入os模块

with open("alex", mode="r", encoding="utf-8") as f1,      open("alex_副本", mode="w", encoding="utf-8") as f2:

    for line in f1:
        new_line = line.replace("good", "sb")
        f2.write(new_line)

os.remove("alex")
os.rename("alex_副本", "alex")

  企业中日志处理

result = []
with open("2018-09-12.log", mode="r", encoding="utf-8") as f:
    hang = f.readline()
    title = hang.split("|")
    for line in f:
        line = line.strip()  # 去掉空白, 2018-09-11 00:00:01|刘伟|吃鸡
        lst = line.split("|")
        dic = {title[0]: lst[0], title[1]: lst[1], title[2]: lst[2]}
        result.append(dic)
print(result)

  

  

原文地址:https://www.cnblogs.com/konghui/p/9670322.html

时间: 2024-10-15 20:12:05

小学生都能学会的python(文件操作)的相关文章

小学生都能学会的python(<lamda匿名函数,sorted(),filter(),map(),递归函数>)

小学生都能学会的python(<<lamda匿名函数,sorted(),filter(),map(),递归函数,二分法>> 1. lambda 匿名函数 lambda 参数: 返回值 注意: 1. 函数的参数可以有多个. 多个参数之间?逗号隔开2. 匿名函数不管多复杂. 只能写??, 且逻辑结束后直接返回数据3. 返回值和正常的函数?样, 可以是任意数据类型 # def fang(x): # return x**2 # # # ret = fang(5) # # print(ret

小学生都能学会的python(小数据池)

1. 小数据池. 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存:int, str, bool. int: 缓存范围 -5~256 str: 1. 长度小于等于1,直接缓存 2. 长度大于1. 字符串中如果只有数字, 字母, 下划线. 就会缓存 3. 乘以1. 同上, 乘以大于1的数.仅包含数字,字母下划线.最终长度小于20会缓存 4. 使用sys模块中的intern()缓存字符串 代码块的关系:如果在同一个代码块中.默认的整数和字符串还有布尔值都会进行缓存. 如果涉

小学生都能学会的python(函数)

神马是函数 函数: 对功能或者动作的封装 函数的定义 def 函数名(形参列表): 函数体(return) ret = 函数名(实参列表) 函数的返回值 return,只要执行到return 函数的本次调用就会被停止 1.如果函数不写return, 没有返回值. 接收到的是None 2.写了return. return后面什么都不写或者return后面的是None. 返回None 3.return 一个值. 返回一个结果 4.return 值,值,值 返回多个值.结果是元组 函数的参数(一部分)

Python文件操作及seek偏移详解

本文和大家分享的主要是python中文件操作及seek偏移相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.Python文件操作中的编码 本次测试是基于Python 2.7.12  OS:Ubuntu 16.04  pycharm环境,以及Win7下2.7.12; 首先说下汉字在文件中占用的字节数,这个先看以下实验(Win7)下 因为Linux下不支持gbk,本文不讲utf-8 ,gbk编码具体知识.本次实验只讲解python在使用utf-8和gbk编码时,对汉字占用的字节有所不

关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()

嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折腾的序幕 db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp() 稍微查询一下就能了解到 tempfile是一个临时文件模块. 包含了一些临时文件的操作 tempfile.mkstemp() 在很老很老的python版本的时候,第一个参数是

Lesson 024 —— python 文件操作

Lesson 024 -- python 文件操作 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法. open() 函数常用形式是接收两个参数:文件名(file)和模式(mode). open(file, mode='r') 完整的语法格式为: open(file, mode='r',

Python文件操作:文件的打开关闭读取写入

Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文件. 2.操作文件:读/写. 3.关闭文件. 操作系统中的文件默认处于存储状态,读写文件时需要请求操作系统打开一个要在当前程序操作的对象,打开不存在的文件可以创建文件.open()方法通过接收"文件路径"以及“文件打开模式”等参数来打开一个文件,并且返回文件对象.打开后的文件只能在当前程序

python 文件操作seek() 和 telll() 自我解释

python 文件操作seek() 和 telll()  自我解释 file.seek()方法格式: seek(offset,whence=0)   移动文件读取指针到制定位置 offset:开始的偏移量,也就是代表需要移动偏移的字节数. whence: 给offset参数一个定义,表示要从哪个位置开始偏移:0代表从文件开头算起,1代表开始从当前位置开始算起,2代表从文件末尾开始算起.当有换行时,会被换行截断.                        seek()无返回值,故值为None

Python基础篇【第2篇】: Python文件操作

Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说:1. 打开文件 2.操作文件 3.关闭文件 1. 打开文件.关闭文件 Python中使用open函数打开一个文件,创建一个file操作对象. open()方法 语法: file object = open(file_name [, access_mode][, buffering]) 各个参数的细