os模块

1.os.getcwd()

获取当前工作目录,即当前python脚本工作的目录路径

import os
print(os.getcwd()) #C:\Users\Administrator\PycharmProjects\PYL\temp_file

2.os.chdir()

改变当前脚本工作目录;相当于shell下cd

import os
print(os.getcwd()) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
os.chdir(r'C:\Users\Administrator\PycharmProjects\PYL')
print(os.getcwd()) #C:\Users\Administrator\PycharmProjects\PYL

3.os.makedirs()

用于递归创建目录,内部有两个参数path、mode(权限模式)

import os
os.makedirs('dirname1/dirname2/dirname3')

代码执行前:

代码执行后:

4.os.removedirs()

用于递归删除目录,若目录为空则删除,并返回上一层目录,若也为空,也删除,以此类推;如果目录不为空就没有办法删除,程序会报错

import os
os.removedirs('dirname1/dirname2/dirname3')

代码执行前:

代码执行后:

5.os.mkdir()

和makedirs()相比只能一级一级的创建目录,默认的权限数字模式是0777(八进制)

import os
os.mkdir('dirname1/dirname2')

代码执行前:

代码执行后:

6.os.listdir()

返回指定的文件夹包含的文件或文件夹的名字的列表.这个列表以字母顺序,它不包括'.'和'..'即使它在文件夹中,只支持在Unix,Windows下使用

import os
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
print(os.listdir(path)) #['dirname1', 'temp_py.py']
print(os.listdir(r'C:\Users\Administrator\PycharmProjects\PYL\temp_file'))    #['dirname1', 'temp_py.py']

7.os.stat()

用于在给定的路径上执行一个系统 stat 的调用

参数:

st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)。
import os
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
get_path = os.stat(path)
print(get_path) #os.stat_result(st_mode=16895, st_ino=51791395714972605, st_dev=2243978906, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1567246056, st_mtime=1567246056, st_ctime=1567058187)
get_path2 = os.stat('test.py')
print(get_path2) #os.stat_result(st_mode=33206, st_ino=38280596832774340, st_dev=2243978906, st_nlink=1, st_uid=0, st_gid=0, st_size=12, st_atime=1567245950, st_mtime=1567245950, st_ctime=1567245924)

8.os.system()

运行shell命令,直接显示

import os
print(os.system('dir'))
# ������ C �еľ��� ϵͳ
# �������� 85C0-669A
#
# C:\Users\Administrator\PycharmProjects\PYL\temp_file ��Ŀ¼
#
# 2019/08/31 22:00 <DIR> .
# 2019/08/31 22:00 <DIR> ..
# 2019/08/31 17:40 <DIR> dirname1
# 2019/08/31 22:00 34 temp_py.py
# 2019/08/31 18:05 12 test.py
# 2 ���ļ� 46 �ֽ�
# 3 ��Ŀ¼ 45,381,369,856 �����ֽ�
#

9.os.popen()

运行shell命令,获取执行结果

import os
print(os.popen('dir').read())
# 驱动器 C 中的卷是 系统
# 卷的序列号是 85C0-669A
#
# C:\Users\Administrator\PycharmProjects\PYL\temp_file 的目录
#
# 2019/08/31 22:08 <DIR> .
# 2019/08/31 22:08 <DIR> ..
# 2019/08/31 17:40 <DIR> dirname1
# 2019/08/31 22:04 <DIR> nwdir
# 2019/08/31 22:08 40 temp_py.py
# 2019/08/31 18:05 12 test.py
# 2 个文件 52 字节
# 4 个目录 45,363,744,768 可用字节

10.os.rename()

重命名文件/目录

import os
os.rename('old_test.py','new_test.py')

程序执行前:

程序执行后:

11.os.path.getsize()

返回这个路径下的所有文件夹的内容大小

import os
path = os.getcwd()
path_size = os.path.getsize(path)
print(path_size)           #

12.os.path.abspath() 

返回path规范化的绝对路径

import os
path = os.getcwd()
print(os.path.abspath(path)) #C:\Users\Administrator\PycharmProjects\PYL\temp_file

13.os.path.split()

将path分割成目录和文件名二元组返回

import os
path = os.getcwd()
print(os.path.split(path))   #('C:\\Users\\Administrator\\PycharmProjects\\PYL', 'temp_file')

14.os.path.dirname()

返回path的目录,其实就是os.path.split(path)的第一个元素

import os
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
print(os.path.dirname(path)) #C:\Users\Administrator\PycharmProjects\PYL

15.os.path.basename()

返回path最后的文件名,如果path以/或\结尾,那么就会返回空值,即os.path.split(path)的第二个元素

import os
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
print(os.path.basename(path)) #temp_file

16.os.path.exists()

如果path存在,返回True;如果path不存在,返回False

import os
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
print(os.path.exists(path)) #True
print(os.path.exists(r'C:\Users\Administrator\PycharmProjects\PYL\temp_file2')) #False

17.os.path.isabs()

如果path是绝对路径,返回True

import os
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
print(os.path.isabs(path)) #True
print(os.path.isabs(r'.\temp_file')) #False

18.os.path.isfile()

如果path是一个存在的文件,返回True,否则返回False

import os
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
print(os.path.isfile(path)) #False
print(os.path.isfile(r'C:\Users\Administrator\PycharmProjects\PYL\temp_file\dirname1\dirname2\temp_py.py')) #True

19.os.path.isdir()

如果path是一个存在的目录,则返回True,否则返回False

import os
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
print(os.path.isdir(path)) #True
print(os.path.isdir(r'C:\Users\Administrator\PycharmProjects\PYL\temp_file\dirname1\dirname2\temp_py.py')) #False

20.os.path.isjoin()

将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

import os
path = os.getcwd()
print(path)
#C:\Users\Administrator\PycharmProjects\PYL\temp_file
print(os.path.join(path,r'C:\Users\Administrator\PycharmProjects\PYL\temp_file\new_test.py'))
# C:\Users\Administrator\PycharmProjects\PYL\temp_file
# C:\Users\Administrator\PycharmProjects\PYL\temp_file\new_test.py

21.os.path.getatime()

返回path所指向的文件或者目录的最后访问时间

import os,time
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
times = os.path.getatime(path)
print(times) #1567261823.2424655
print('文件最后访问时间:' + time.asctime(time.localtime(times)))   #文件最后访问时间:Sat Aug 31 22:30:23 2019

22.os.path.getmtime()

返回path所指向的文件或者目录的最后修改时间

import os,time
path = os.getcwd()
print(path) #C:\Users\Administrator\PycharmProjects\PYL\temp_file
times = os.path.getmtime(path)
print(times) #1567261823.2424655
print('文件最后修改时间:' + time.asctime(time.localtime(times)))   #文件最后访问时间:Sat Aug 31 22:30:23 2019

23.os模块的属性

os.sep     输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name  输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

sys模块

1.sys.platform

返回操作系统平台名称

import sys
print(sys.platform) #win32

2.sys.argv

命令行参数List,第一个元素是程序本身路径

import sys
print(sys.argv) #['C:\\Users\\Administrator\\PycharmProjects\\PYL\\temp_file\\dirname1\\dirname2\\temp_py.py']

3.sys.exit(n)

退出程序,正常退出时exit(0),错误退出sys.exit(1)

4.sys.version

获取python解释程序的版本信息

import sys
print(sys.version) #3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)]

5.sys.path

返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

import sys
print(sys.path) #['C:\\Users\\Administrator\\PycharmProjects\\PYL\\temp_file\\dirname1\\dirname2',
# 'C:\\Users\\Administrator\\PycharmProjects\\PYL',
# 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv\\Scripts\\python37.zip',
# 'F:\\Anaconda\\DLLs',
# 'F:\\Anaconda\\lib',
# 'F:\\Anaconda',
# 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv',
# 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv\\lib\\site-packages',
# 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv\\lib\\site-packages\\setuptools-40.8.0-py3.7.egg',
# 'C:\\Users\\Administrator\\PycharmProjects\\PYL\\venv\\lib\\site-packages\\pip-19.0.3-py3.7.egg']

Python学习日记(十七) os模块和sys模块的更多相关文章

  1. Python学习日记(十四) 正则表达式和re模块

    正则表达式: 它是字符串的一种匹配模式,用来处理字符串,可以极大地减轻处理一些复杂字符串的代码量 字符组:它是在同一位置可能出现的各种字符组成了一个字符组,用[]表示,但是它的结果只能是一个数字或者一 ...

  2. python基础(19):random模块、time模块、sys模块、os模块

    1. random模块 导入的是random模块,格式是: import random 1.1 随机小数 取随机小数 : 数学计算. print(random.random()) # 取0-1之间的小 ...

  3. (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...

  4. 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操

    目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...

  5. Python 学习日记(第三周)

    知识回顾 在上一周的学习里,我学习了一些学习Python的基础知识下面先简短的回顾一些: 1Python的版本和和安装 Python的版本主要有2.x和3.x两个版本这两个版本在语法等方面有一定的区别 ...

  6. Python学习日记 --day2

    Python学习日记 --day2 1.格式化输出:% s d  (%为占位符 s为字符串类型 d为数字类型) name = input('请输入姓名') age = int(input('请输入年龄 ...

  7. python学习日记(基础数据类型及其方法01)

    数字 int 主要是用于计算的,常用的方法有一种 #既十进制数值用二进制表示时,最少使用的位数i = 3#3的ASCII为:0000 0011,即两位 s = i.bit_length() print ...

  8. python常用模块之sys模块

    python常用模块之sys模块 1.sys.argv[]:命令行参数List,第一个元素是程序本身 # 写一个简单的python程序,代码如下: #!/usr/bin/python #coding= ...

  9. Python学习日记(八)—— 模块一(sys、os、hashlib、random、time、RE)

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

随机推荐

  1. vue使用formData进行文件上传

    本文为博主原创,未经允许不得转载 1.vue页面 <ux-form ref="formRef" layout="vertical"> <ux- ...

  2. win10磁盘分区

    注意:未分配的磁盘是无法使用的. 安装系统的时候,我们可以先将系统装起来,再来对未分配的磁盘进行操作. 具体步骤:https://jingyan.baidu.com/article/fcb5aff76 ...

  3. shell 判断一个字符串是否由字母数字组成

    摘自:http://blog.51cto.com/lynnteng0/804520 describe="it's a describe by yourself" if echo & ...

  4. OpenStack Neutron单网卡桥接模式访问外网

    环境配置: * Exsi一台 * Exsi创建的单网卡虚拟机一台 * Ubuntu 14LTS 64位操作系统 * OpenStack Liberty版本 * 使用Neutron网络而非Nova网络 ...

  5. EasyNVR智能云终端硬件盒子x86版自我维护之摄像机网页直播系统基础运维

    背景分析 随着EasyNVR软件为越来越多的用户接受和使用,我们也致力于用户的需求收集和需求的调研,发现一部分用户有关于硬件设备的需求,加之我们推出的免费产品EasyNVS云管理平台,可以说用户自己搭 ...

  6. dataTable.NET的search box每輸入一個字母進行一次檢索的問題

    當使用dataTable.NET時,可以通到簡單的setting來添加一個search box進行全表格的檢索. $('#test-listing') .on('order.dt', function ...

  7. 【C/C++开发】多线程编程中的join函数

    多线程编程中的join函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # coding: utf-8 # 测试多线程中join的 ...

  8. UDP中一个包的大小最大能多大?TCP呢?

    (以上为以太网的帧格式) Preamble:前导同步码7个字节+帧开始定界符1个字节=8个字节 Destination MAC adress:目的MAC地址 Source MAC adress:源MA ...

  9. bootstrap.min.css.map作用

    我先说一下什么是source map文件. source map文件是js文件压缩后,文件的变量名替换对应.变量所在位置等元信息数据文件,一般这种文件和min.js主文件放在同一个目录下. 比如压缩后 ...

  10. VS2015如何在同一个解决方案下建立多个项目

    1.先按照常规的方法建一个项目: 2.点击解决方案:右键=>添加=>新建项目 注:本文链接:https://blog.csdn.net/weixin_43081805/article/de ...