python文件操作

1.判断文件目录是否存在,目录中有哪些文件

1.1 open函数

第二个参数,指定打开文件的方式:

r :以只读的方式打开文件

w :以写的方式写入文件(覆盖写)

a :以追加的方式写入文件  

x :新建文件

(默认以只读的方式打开)

(如果是二进制文件: wb 二进制写的方式   wr  二进制读的方式)

# fp 读出来的文件对象
# 指定编码方式为utf-8
fp = open("yu.txt", encoding="utf-8")
print(fp.read())
fo.close()
# 要在输出完后再释放资源,不然就读不到内容了
# new line

fp.read()  :一次性读完所有内容

fp.readline()  :一次只读一行

fp.readlines()  :每一行作为一个元素放在一个列表中保存,一次性读完文件的所有内容

fp.close()

操作完文件后一定要释放掉文件所占用的资源,如果不手动释放就会一直保存在内存中

1.2. with open 函数

with open函数会在读完文件以后自动帮你释放内粗资源,不用我们手动的去释放资源

with open("yu.txt", "r", encoding="utf-8") as fp:
    print(fp.read())

1.3. 读入json文件,写入json文件

读文件

try:
    with open("yu.txt", "r", encoding="utf-8") as fp:
        file = json.load(fp)
except:
    file = {}

# 用try  except去接受异常,如果没有想要读取的json文件就创建一个名字为file的字典
# 如果有json文件就将文件读出,将读出的内容赋值给file

写文件

with open("yu.txt", "w", encoding="utf-8") as fp:
    json.dump(file, fp)

(但是如果把字典转为json格式的时候,是不能直接转的,只能将字典的数据传到json文件里面,这样操作相对较麻烦)

1.4.pickle读文件写文件

读文件

try:
    with open(file_name, "rb") as fp:
        self.userdict = pickle.load(fp)
except:
    self.userdict = {}
# pass 是python的占位符,防止报错,但是什么也不做

写文件

with open(file_name, "wb") as fp:
    pickle.dump(self.userdict, fp)

2.python一些常用的库

2.1 time库

time库是python中处理时间的标准计算机时间的表达

time库有三类函数:

时间获取:time()   ctime()  gmtime()

时间格式化: strftime()   strptime()

程序计时:sleep()  perf_counter() 


import time
from datetime import date

# time() :获取当前时间截,即计算机内部时间值,浮点数
print(time.time())
# 1682262765.754957

# ctime() : 获取当前时间并以易读方式表示,返回字符串
print(time.ctime())
# Sun Apr 23 23:14:25 2023

# gtime() : 获取当前时间,表示为计算机可处理的时间格式
print(time.gmtime())

# strftime()方法 : 格式化字符串日期/时间说明值范围和实例
# %Y年份0000~9999,例如:1900
# from datetime import date
dt = date.today()
print(dt)
# 2023-04-24
nd = dt.strftime('%Y:%m:%d')
print(nd)
# 2023:04:24

# strptime(str,tpl)  :是字符串形式的时间值,tpl是格式化的模板,用来定义输入效果
timestr = date.today()
timestr = str(timestr)
newdate = time.strptime(timestr, '%Y-%m-%d')

2.2 os库

os库常用做路径操作,进程管理,环境参数等几个类

路径操作:os.path子库,处理文件路径及信息

进程管理:启动系统中其他程序

环境参数:获得系统软件硬件信息等环境参数



import os
import time

# os.path.abcapth(path)  返回path在系统中的绝对路径
print(os.path.abspath("01.文件操作.py"))
# C:\Users\lenovo\Desktop\课堂练习\开发\331py文件操作\01.文件操作.py

# os.path.normpath(path)  统一使用/作为分隔符分割路径
print(os.path.normpath('C:\\Users\\lenovo\\Desktop\\课堂练习\\开发\\331py文件操作\\01.文件操作.py'))
# 同一将分隔符\\替换成\
# C:\Users\lenovo\Desktop\课堂练习\开发\331py文件操作\01.文件操作.py

# os.path.repath(path)  返回当前程序与文件之间的相对路径
print(os.path.relpath('02.计算生日.py'))
# 02.计算生日.py

# os.path.basename(path)  返回path中最后的文件名称
print(os.path.basename("../331py文件操作"))
# 331py文件操作

# os.path.exists(path)  判断文件对应文件目录是否存在
print(os.path.exists("01.文件操作.py"))
# True
print(os.path.exists("..//331py文件操作"))
# True

# os.path.isdir(path)  判断path所对应的的是否是目录,如果是目录返回true不是就返回false
print(os.path.isdir("01.文件操作.py"))
#False

# os.oath.isfile(path)  判断path所对应的是否是文件,如果是文件就返回true,如果不是文件夹就返回false
print(os.path.isfile("01.文件操作.py"))
# True

# os.path.getatime(path)  返回path对应文件或者目录上一次访问时间
c = os.path.getatime("01.文件操作.py")
print(c)
# 1682251369.949953
print(time.ctime(c))
# Sun Apr 23 20:02:49 2023

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值