栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python文件的相关操作

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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:UsersDesktopa.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:UsersyyzDesktopvs")   #切换路径
os.getcwd()
open('test.txt','w')   #创建文件


os.listdir(r"C:UsersDesktopvs")  #查看当前目录里下一层拥有的子文件
os.walk(r"C:UsersDesktopvs")    #查看当前目录里拥有的所有的文件,会产生一个生成器列表
list(os.walk(r"C:UsersDesktopvs") )  #将生成器对象转换成列表,便于观察数据
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)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/675371.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号