Python学习日记(十七) os模块和sys模块

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 ???????
# 0

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)              #4096

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‘]

原文地址:https://www.cnblogs.com/Fantac/p/11441096.html

时间: 2024-08-28 08:52:18

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

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

正则表达式: 它是字符串的一种匹配模式,用来处理字符串,可以极大地减轻处理一些复杂字符串的代码量 字符组:它是在同一位置可能出现的各种字符组成了一个字符组,用[]表示,但是它的结果只能是一个数字或者一个大写字母或小写字母等 下面测试以该网站为例http://tool.chinaz.com/regex/ #正则表达式 匹配字符串 匹配结果 #[0-9] 9 9 [0-9]的写法就相当于在用[0123456789] #[0123456789] 0 0 #[a-z] 1 None 这里只匹配小写字符a

python基础学习os模块和sys模块

os模块和sys模块import osos.getcwd() #获取当前工作目录os.chdir() #切换目录os.makedirs() #递归创建一个目录os.removedirs() #递归删除一个目录(若目录为空则删除并递归到上一层目录,如果为空再删除,在递归到上一层目录)os.mkdir() #不递归创建目录os.rmdir() #不递归删除目录os.listdir() #查看指定目录下的所有文件和目录os.remove() #删除一个文件os.rename(oldname,newna

Python常用模块——系统调用sys模块

Python常用模块--系统调用sys模块 sys 模块 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 sys.stdout.write('please:') #标准输出 , 引出进度条的例子

Python学习笔记——基础篇【第五周】——os模块和sys模块

OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级

part10-1 Python常见模块(sys模块、os模块)

Python 有强大的第三方模块,这些第三方模块在实际运用中已经能实现很多的功能,通常不需要重复开发具有相同功能的模块.另外,Python 语言也内置了大量的模块,这些模块已经非常完善,例如对于常见的日期.时间.正则表达式.JSON支持.容器类等都有完善的模块.接下来学习 Python 内置的模块,不过这些模块还在不断的更新中,更详细的模块帮助可查看 Python 库的在线参考手册,https://docs.python.org/3/library/index.html. 一. sys 模块 s

Python 的os模块与sys模块

python os模块的主要用法 python中的os模块可以用来编写于平台无关的一些文件系统操作. 主要的方法如下:一些标记属性os.linesep 文件中分割行的字符串os.sep文件路径名的分隔符os.curdir当前工作目录的字符串名称os.pardir父目录字符串名称常用方法os.remove()删除文件os.rename()重命名文件os.walk()生成目录树下的所有文件名os.chdir()改变目录os.mkdir/makedirs创建目录/多层目录os.rmdir/remove

Python的logging模块、os模块、commands模块与sys模块

一.logging模块 import logging logging.debug('This is debug message') logging.info('This is info message') logging.warning('This is warning message') 屏幕上打印: WARNING:root:This is warning message 默认情况下,logging将日志打印到屏幕,日志级别为WARNING: 日志级别大小关系为:CRITICAL > ERR

python os模块和sys模块

1.os模块:提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname")  改变当前脚本工作目录:相当于shell下cd os.curdir  返回当前目录: ('.') os.pardir  获取当前目录的父目录字符串名:('..') os.makedirs('dirname1/dirname2')    可生成多层递归目录 os.removedirs('dirname1')    若目录为空,

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

1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,在python中.一个.py文件就称为一个模块(Module) 使用模块的好处: 提高了代码的可维护性. 其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们编写程序的时候也经常引用其他模块,包括python的内置的模块和第三方模块. 包(package