专栏首页不仅仅是python(十) 初遇python甚是喜爱之OS Module模块

(十) 初遇python甚是喜爱之OS Module模块

各位读者大大们大家好,今天学习python的OS Module模块,并记录学习过程欢迎大家一起交流分享。

首先新建一个python文件命名为py3_os_module.py,在这个文件中进行操作代码编写:

#单独说说今天学习的OS module模块
import os
from datetime import datetime
#使用内置函数dir()
#查看os模块的属性和方法
#打印内容太多这里不做演示
#回头大家可以自己试试
print(dir(os))
#打印当前的工作目录
#我这里结果是:
#C:\Users\Administrator\Desktop
print(os.getcwd())
#切换目录
#注意转义字符
os.chdir("C:\\Users\\Administrator")
#查看当前目录已切换到:
#C:\Users\Administrator
print(os.getcwd())
#列出当前目录下的所有文件夹目录:
#我先把目录切换一下:
os.chdir("C:\\Users\\Administrator\\Desktop\\python3-demo")
#结果为一个文本文件
#三个文件夹的列表:
#['hello.txt', 'videos', 'yale', '模块学习']
print(os.listdir())
#在当前目录下创建文件夹:
os.mkdir('videos-1')
#打印查看是否创建成功
#['hello.txt', 'videos', 'videos-1', 'yale', '模块学习']
print(os.listdir())
#另外一个创建文件夹的方法
#makedirs():
os.makedirs('videos-2')
#['hello.txt', 'videos', 'videos-1', 'videos-2', 'yale', '模块学习']
print(os.listdir())
#mkdir 和 makedirs的区别
#mkdir:只能创建一级目录
#makedirs能够创建多级目录
#看如下例子:
os.makedirs('videos-2/video-sub1/video-sub2')
print(os.listdir())
#接下来看删除文件夹的方法:
#rmdir只删除掉video-sub2文件夹
os.rmdir('videos-2/video-sub1/video-sub2')
#removedirs 删除掉所有指定的文件夹目录
os.removedirs('videos-2/video-sub1')
#rmdir 和 removedirs区别同创建目录
#重命名文件:
os.rename('hello.txt','demo.txt')
#打印结果:
#['demo.txt', 'videos', 'videos-1', 'yale', '模块学习']
print(os.listdir())
#查看文件的状态信息
#os.stat_result(st_mode=33206, st_ino=3377699720911882, st_dev=2752502229,
#st_nlink=1, st_uid=0, st_gid=0, st_size=41,
#st_atime=1558059707, st_mtime=1558059707, st_ctime=1558059707)
print(os.stat('demo.txt'))
#比如查看下文件的大小
print(os.stat('demo.txt').st_size)#41
#查看文件的最后修改时间:
print(os.stat('demo.txt').st_mtime)#1558059707
#转换为日期格式显示
#先导入datetime模块(看代码开头)
modify_time = os.stat('demo.txt').st_mtime
#2019-05-17 10:59:12.788047
print(datetime.fromtimestamp(modify_time))
#使用os.walk()迭代文件夹的树形结构信息
#方法返回三个结果值:文件夹路径、文件夹名称、文件名称
#看如下代码:
for dirpath,dirname,filename in os.walk("C:\\Users\\Administrator\\Desktop\\python3-demo"):
    print("当前路径:" , dirpath)
    print("目录名称:" , dirname)
    print("文件名称:" , filename)
    print()
#获取系统环境变量
##C:\Users\Administrator
print(os.environ.get('HOME'))
#使用os.path.join()拼接文件路径
file_path = os.path.join(os.environ.get('HOME'),'test.txt')
#C:\Users\Administrator\test.txt
print(file_path)
#使用os.path.basename()
#查看最后的文件名
#文件路径不需要真实存在
#如下例子:
#打印结果为:test.txt
print(os.path.basename('/tmp/test.txt'))
#使用os.path.dirname()
#查看目录名
#打印结果:/tmp/yale
print(os.path.dirname('/tmp/yale/test.txt'))
#使用split()分割获取
#目录名和文件名
#打印结果:('/tmp/yale', 'test.txt')
print(os.path.split('/tmp/yale/test.txt'))
#使用os.path.exists()
#判断文件是否存在
print(os.path.exists('/tmp/test.txt'))#False
#使用os.path.isdir()
#判断是不是目录文件夹
print(os.path.isdir('C:\\Users'))#True
#使用os.path.isfile()
#判断是不是文件
print(os.path.isfile('C:\\Users\\test.txt'))#Ture
#使用os.path.splitext()
#获取文件扩展名
#('/tmp/test', '.txt')
print(os.path.splitext('/tmp/test.txt'))

运行结果:

C:\Users\Administrator\Desktop
C:\Users\Administrator
['hello.txt', 'videos', 'yale', '模块学习']
['hello.txt', 'videos', 'videos-1', 'yale', '模块学习']
['hello.txt', 'videos', 'videos-1', 'videos-2', 'yale', '模块学习']
['hello.txt', 'videos', 'videos-1', 'videos-2', 'yale', '模块学习']
['demo.txt', 'videos', 'videos-1', 'yale', '模块学习']
os.stat_result(st_mode=33206, st_ino=3377699720911882, st_dev=2752502229, st_nlink=1, st_uid=0, st_gid=0, st_size=41, st_atime=1558059707, st_mtime=1558061952, st_ctime=1558059707)
41
1558061952.788047
2019-05-17 10:59:12.788047
当前路径: C:\Users\Administrator\Desktop\python3-demo
目录名称: ['videos', 'videos-1', 'yale', '模块学习']
文件名称: ['demo.txt']

当前路径: C:\Users\Administrator\Desktop\python3-demo\videos
目录名称: []
文件名称: []

当前路径: C:\Users\Administrator\Desktop\python3-demo\videos-1
目录名称: []
文件名称: []

当前路径: C:\Users\Administrator\Desktop\python3-demo\yale
目录名称: []
文件名称: []

当前路径: C:\Users\Administrator\Desktop\python3-demo\模块学习
目录名称: []
文件名称: []

C:\Users\Administrator
C:\Users\Administrator\test.txt
test.txt
/tmp/yale
('/tmp/yale', 'test.txt')
False
True
True

今天初学python的 OS Module模块学习就到这里!

关注公号

下面的是我的公众号二维码图片,欢迎关注。

本文分享自微信公众号 - yale记(python_yale_learning),作者:yale记

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 初遇python甚是喜爱之Lists、Tuples、Sets集合操作

    各位读者大大们大家好,今天学习python的Lists、Tuples、Sets集合操作,并记录学习过程欢迎大家一起交流分享。

    亚乐记
  • (四十四) 初遇python之循环后的else

    各位读者大大们大家好,今天学习for、while语句后的else代码块,并记录学习过程欢迎大家一起交流分享。

    亚乐记
  • (十六) 初遇python甚是喜爱之异常处理Try/Except操作

    各位读者大大们大家好,今天学习python的异常处理操作,并记录学习过程欢迎大家一起交流分享。

    亚乐记
  • Python: os模块实例详解

    用户2183996
  • python第十三课——嵌套循环

    2.嵌套循环: 概念:循环中再定义循环,称为嵌套循环; 【注意】嵌套循环可能有多层,但是一般我们实际开发最多两层就可以搞定了(99%的情况) 格式: 1...

    hankleo
  • 还在用 map[string]interface{} 处理 JSON?告诉你一个更高效的方法——jsonvalue

    本文介绍的是 jsonvalue 库,这是我个人在 Github 上开发的第一个功能比较多而全的 Go 库。目前主要是在腾讯未来社区的开发中使用,用于取代map...

    amc
  • python控制语句

    while循环可以使用break跳出当前循环,continue跳过当前,继续循环

    老雷PHP全栈开发
  • Python第二周 学习笔记(3)

    py3study
  • RavenDb学习(十)附件,存储大对象

    1、读取 Raven.Abstractions.Data.Attachment attachment = documentStore.DatabaseComma...

    岑玉海
  • 火爆朋友圈的超暖漫画:单身,是最好的增值期!

    我们做了一个小程序 理论坞 专注于收集一些理论,点击下面即可立即体验,打造你属于你自己的理论库。

    宇相

扫码关注云+社区

领取腾讯云代金券