零基础小白必看:python基本操作-文件、目录及路径( 二 )

(2)格式日期时间字符串转秒数
>>> import datetime# 引入datetime模块>>> timeobject = datetime.datetime.strptime("2020-05-23 10:00:00","%Y-%m-%d %H:%M:%S") #解析时间字符串为时间对象>>> timeseconds=time.mktime(timeobject.timetuple())# 获取时间秒数>>> print(int(timeseconds))# 转为int显示1590199200复制代码

  • 遍历操作 walk 函数对目录进行递归遍历 , 返回 root , dirs , files , 分别对应当前的遍历的目录 , 此目录中的子目录及文件 。
>>> data = http://kandian.youth.cn/index/os.walk("test")# 遍历test目录>>> for root,dirs,files in data:# 递归遍历及输出...print("root:%s" % root)...for dir in dirs:...print(os.path.join(root,dir))...for file in files:...print(os.path.join(root,file))...root:testtest\test-1test\test-2test\test.txtroot:test\test-1test\test-1\test-1.txtroot:test\test-2test\test-2\test-2.txt复制代码2.2 创建操作
  • mkdir :新建单个目录 , 若目录路径中父目录不存在 , 则创建失败
  • makedirs :新建多个目录 , 若目录路径中父目录不存在 , 则自动创建
>>> os.mkdir("test")>>> os.mkdir("test1/test1-1")# 父目录不存在 , 报错Traceback (most recent call last):File "", line 1, in FileNotFoundError: [WinError 3] 系统找不到指定的路径 。 : 'test1/test1-1'>>> os.makedirs("test1/test1-1")# 父目录不存在 , 自动创建>>> os.listdir("test1")['test1-1']复制代码2.3 删除操作
  • rmdir :删除单个空目录 , 目录不为空则报错
  • removedirs : 按路径删除递归多级空目录 , 目录不为空则报错
>>> os.rmdir("test1")# 若目录不为空 , 报错Traceback (most recent call last):File "", line 1, in OSError: [WinError 145] 目录不是空的 。 : 'test1'>>> os.rmdir("test1/test1-1")>>> os.removedirs("test1/test1-1")# 删除多级空目录>>> os.listdir(".")['test']复制代码由于删除空目录的限制 , 更多的是使用 shutil 模块中的 rmtree 函数 , 可以删除不为空的目录及其文件 。
2.4 修改操作
  • rename :重命名目录或文件 , 可修改文件或目录的路径(即移动操作) , 若目标文件目录不存在 , 则报错 。
  • renames :重命名目录或文件 , 若目标文件目录不存在 , 则自动创建
>>> os.makedirs("test1/test1-1")>>> os.rename("test1/test1-1","test1/test1-2")# test1-1 修改为test1-2>>> os.listdir("test1")['test1-2']>>> os.rename("test1/test1-2","test2/test2-2")# 由于test2目录不存在 , 报错Traceback (most recent call last):File "", line 1, in FileNotFoundError: [WinError 3] 系统找不到指定的路径 。 : 'test1/test1-2' -> 'test2/test2-2'>>> os.renames("test1/test1-2","test2/test2-2")# renames可自动创建不存在的目录>>> os.listdir("test2")['test2-2']复制代码如果目标路径文件已经存在 , 那么os.rename()和os.renames()都会报错:FileExistsError: [WinError 183] 当文件已存在时 , 无法创建该文件 。
3 文件操作3.1 查询操作
  • open/read/close :文件读取
  • stat :文件信息 , 详细见前面文件夹中的 stat 说明
>>> f = os.open("test/test.txt", os.O_RDWR|os.O_CREAT)# 打开文件>>> str_bytes = os.read(f,100)# 读100字节>>> str = bytes.decode(str_bytes)# 字节转字符串>>> print(str)test write data>>> os.close(f)# 关闭文件复制代码