Python os 模块提供了一个统一的操作系统接口函数(特别对文件),os模块能在不同操作系统平台(如nt或posix)中的特定函数间自动切换,从而能实现跨平台操作。每一个编程语言都有一套特定的接口,去操作文件系统。
import os
import day04.m1 as m1
print(m1.a)
print(m1.test(10, 20))
# 获取路径的方式
print(os.getcwd()) # 获得当前文件所在的路径信息,不包括文件本身名称
print(__file__) # 获取文件路径信息的方式
print(os.path.realpath(__file__))
print(os.path.realpath('m1.py'))
print(os.path.dirname(os.path.realpath('m1.py')))
print(os.path.basename(__file__)) # 获取文件名称
print(os.path.getsize('m1.py')) # 得到文件大小
import os
import time
# 文件的信息
path = os.path.realpath('m1.py')
t1 = os.path.getctime(path) # 获取文件的创建时间
t2 = os.path.getatime(path) # 获取文件上次的访问时间
t3 = os.path.getmtime(path) # 获取文件的修改时间
print(t1)
print(t2)
print(t3)
# 时间戳的格式化输出
date = time.localtime(t1) # 转成时间
print(date)
print(time.strftime("%Y-%m-%d %H:%M:%S", date)) # 时间格式化
# 判断是文件夹还是文件
result = os.path.isdir('m1.py') # 相对路径
print(result)
实现遍历特定路径下的所有文件代码实现:
import os
# 遍历某个文件夹下的所有文件和目录信息 打印输出
basePath = "E:\Project"
print(os.listdir(basePath))
# 递归实现遍历特定目录下文件夹和文件信息
def listFile(path):
fileList = os.listdir(path)
for file in fileList:
filePath = os.path.join(path, file) # 路径1 + “\” + 路径2
if os.path.isdir(filePath):
print(filePath)
listFile(filePath)
pass
else:
print(filePath)
pass
pass
pass
listFile(basePath)
示例代码如下:
# 创建和删除目录
os.mkdir("folder1")
if os.path.exists("folder2"):
os.rmdir("folder2")
pass
else:
os.mkdir("folder3")
pass
最后的实验结果:
读写文件代码如下:
import os
# 初始程序
fp = open("hello", mode='r', encoding="utf-8")
txt = fp.read()
print(txt)
fp.close()
# 添加异常捕获
# python异常处理机制
try: # try if else while for 不构成变量的作用域范围
fp = open("hello2", mode='r', encoding="utf-8")
txt = fp.read()
print(txt)
pass
except FileNotFoundError as e:
print(e)
pass
finally:
fp.close()
pass
# 解释不构成变量的作用域范围
if True:
a = 1
# 在if中定义的变量,在if外可以正常使用
print(a)
# 写操作,注意w模式会把文件中原有内容覆盖
with open('world', mode='w', encoding='utf-8') as fp: # 追加内容使用a
fp.write("春花秋月何时了,往事知多少\n")
pass
with open('world', mode='a', encoding='utf-8') as fp: # 追加内容使用a
fp.write("小楼昨夜又东风,故国不堪回首月明中")
pass
我们使用如下图片进行实验,命名为c.jpeg
代码如下:
# 读二进制文件
with open('c.jpeg', mode='rb') as fp:
data = fp.read()
print(data)
pass
# 写二进制文件
with open('a.jpeg', mode='wb') as fp:
fp.write(data)
pass
读二进制文件终端输出部分如下:
写入二进制文件实验结果如下:
JSON、csv、excel,是常见的文件形式,其中JSON是非常重要的文件形式(键值对封装)。
因篇幅问题不能全部显示,请点此查看更多更全内容