python文件的相关操作

第一部分 基本操作

 一、文件的读取

File_one=opne(‘test.txt’,’w’,encoding=’uft-8’)

打开文件使用open函数

第一个参数:打开的文件

第二个参数:打开的模式,默认只读(r)打开

常用的模式有:

①r 只读,如果文件不存在 报错

②w 只写 的形式打开文件,不管文件存在不存在都创建新的文件,会清空文件(创建一个全新的出来,覆盖掉了原来的文件)

③a 追加  文件不存在则创建文件,文件存在则打开文件

④b 二进制打开

⑤+ 更新(读和写)

⑥a+写在文件后面(控制光标在文件的最后面),r+写在文件前面(控制光标在文件的最前面)

路径分为相对路径和绝对路径

1.相对路径:

①和代码文件在一个目录里直接写

eg :File_one=opne(‘test.txt’,’w’,encoding=’uft-8’)

②文件和代码文件的文件夹在一起 就是访问上层文件

eg:File_one=open(‘../test.txt’,’w’,encoding=’uft-8’)

备注:一个../代表一层

(就是不写在哪个盘)

2.绝对路径

绝对路径适用于不在一个盘的情况下,这个时候要注意转义符

Eg:File_one=open(r‘C:\Users\Desktop\a.txt’,’w’,encoding=’uft-8’)

二、文件的写入

①写入文件直接调用write方法,write方法每次只可以接受一个参数

eg: file_one.write(‘this is test file’)

②如果想要一次写入多个内容,那就需要用 writelines

eg : file_one.writelines([“Dada”,”Dada”]) #传列表,换行用\n

#往文件里写只能写入字符串类型的

三、文件的保存

写入文件时,一般先写入内存,只有调用flush刷新到硬盘中才能保存到文件

① f.flush()  #刷新保存

② file_one.close()  #关闭文件也会自动保存修改到文件中

四、调整光标

① file_one.tell()  #当文件读取之后,可以调用tell方法查看文件中指针的位置

② file_one.seek(0) #当指针在末尾时读取不出内容,需要把指针移动到文件开头

f=open(r"pathname","a+",encoding='utf-8')
f.write("a")
f.writelines(["Sd","Da"])
a=f.tell()  #当文件读取之后,可以调用tell方法查看文件中指针的位置
print(a)
f.flush()
f.seek(0)  #当指针在末尾时读取不出内容,需要把指针移动到文件开头
print(f.read(1))  #读入指定数量的字符 如果不写就是读取全部
print(f.readline())  #读取一行
print(f.readlines())  #读取多行数据 放在一个列表里面,便于操作
#如果要中间某几行,用切片
#eg:
f_data=f.readlines()  #读取多行,需要获得指定行数,可以切片

f.close()  #关闭文件

#如果忘记关了 可以用with  open
#with open 上下文件管理器,自动保存关闭文件

with open(r"pathname","a+",encoding='utf-8') as f:
    print(f.read())

#如果必须用某种格式打开,errors='ignore'忽略错误
with open(r"pathname","a+",encoding='utf-8',errors='ignore') as f:
    f.seek(0)
    print(f.read())

 第二部分  文件流

1.简介

①在内存中打开一个文件流,如同打开一个文件,程序运行结束后释放文件

②文件中可能存放字符串、音频、图像等,文件的格式不一样,存放图像音频的为二进制文件

import io

#字符串的临时io文件
str_io=io.StringIO()  #在内存中打开一个文件流,如同打开一个文件
str_io.write("hello world")
str_io.seek(0)
print(str_io.read())

#文件流有getvalue方法可以获取内容
print(str_io.getvalue())


#二进制文件
byte_io=io.BytesIO()  #内容是二进制的字符串主要用来存储图像、音频、视频等
byte_io.write(b'hello worlda') #b的作用是二进制化
print(byte_io.getvalue())

第三章 目录的相关操作 

#文件目录的操作


import  os #和操作系统交互,需要用到os模块
os.getcwd()   #获取当前文件的目录


os.chdir(r"C:\Users\yyz\Desktop\vs")   #切换路径
os.getcwd()
open('test.txt','w')   #创建文件


os.listdir(r"C:\Users\Desktop\vs")  #查看当前目录里下一层拥有的子文件
os.walk(r"C:\Users\Desktop\vs")    #查看当前目录里拥有的所有的文件,会产生一个生成器列表
list(os.walk(r"C:\Users\Desktop\vs") )  #将生成器对象转换成列表,便于观察数据
os.mkdir("file")  #创建文件夹,也支持对文件目录的操作
os.rename(("file","new_file"))  #对文件夹改名字 ,也可以用于改文件的名字


os.makedirs()  #创建多层目录
os.remove()   #移动文件
os.rmdir()  #删除目录
os.removedirs()  #删除多层目录
os.system() #调用系统命令
#eg:查看自己的ip
os.system("ipconfig")
os.system("cmd")  #执行完暂停在那里
os.walk()   #遍历文件夹
os.path() #一般用于拼接路径

第四章 模块和包

1.概念

①模块:存放python文件

②包:存放了多个模块的文件夹

③库:存放了多个相关模块的文件夹

# 文件名.函数名()  可以直接调用要导入文件中的函数
#文件名要注意不要跟系统提供的模块名重复了
import datetime
print(datetime.datetime.now())

#使用from 来导入部分内容 as可以给导入的内容来重新命名
from datetime import datetime as dt,date,time
print(dt.now())

import sys

path=sys.path   #使用sys.path 来查看模块的查找路径
#如果要添加其他的路径,只需要使用:sys.path.append(path)
sys.path.append(path)  # 将路径添加列表即可



#以下代码往被导入的文件里放
#Name 和 main 是做测试使用的

#__name__代表模块的名字
#__main__当模块直接运行时的文件名
#当文件被导入时,if判断返回false
if __name__=="__main__":
    print("in main")
    print(sys.argv)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Momo_159357

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值