OS模块

os模块就是对操作系统进行操作,使用该模块必须先导入模块:

import os

#getcwd() 获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹)
result = os.getcwd()
print(result) #chdir()改变当前工作目录
os.chdir('/home/sy')
result = os.getcwd()
print(result) open('02.txt','w') #操作时如果书写完整的路径则不需要考虑默认工作目录的问题,按照实际书写路径操作
open('/home/sy/下载/02.txt','w') #listdir() 获取指定文件夹中所有内容的名称列表
result = os.listdir('/home/sy')
print(result) #mkdir() 创建文件夹
#os.mkdir('girls')
#os.mkdir('boys',0o777) #makedirs() 递归创建文件夹
#os.makedirs('/home/sy/a/b/c/d') #rmdir() 删除空目录
#os.rmdir('girls') #removedirs 递归删除文件夹 必须都是空目录
#os.removedirs('/home/sy/a/b/c/d') #rename() 文件或文件夹重命名
#os.rename('/home/sy/a','/home/sy/alibaba'
#os.rename('02.txt','002.txt') #stat() 获取文件或者文件夹的信息
#result = os.stat('/home/sy/PycharmProject/Python3/10.27/01.py)
#print(result) #system() 执行系统命令(危险函数)
#result = os.system('ls -al') #获取隐藏文件
#print(result) #环境变量
'''
环境变量就是一些命令的集合
操作系统的环境变量就是操作系统在执行系统命令时搜索命令的目录的集合
'''
#getenv() 获取系统的环境变量
result = os.getenv('PATH')
print(result.split(':')) #putenv() 将一个目录添加到环境变量中(临时增加仅对当前脚本有效)
#os.putenv('PATH','/home/sy/下载')
#os.system('syls') #exit() 退出终端的命令 #os模块中的常用值
#curdir 表示当前文件夹 .表示当前文件夹 一般情况下可以省略
print(os.curdir) #pardir 表示上一层文件夹 ..表示上一层文件夹 不可省略!
print(os.pardir) #os.mkdir('../../../man')#相对路径 从当前目录开始查找
#os.mkdir('/home/sy/man1')#绝对路径 从根目录开始查找 #name 获取代表操作系统的名称字符串
print(os.name) #posix -> linux或者unix系统 nt -> window系统 #sep 获取系统路径间隔符号 window ->\ linux ->/
print(os.sep) #extsep 获取文件名称和后缀之间的间隔符号 window & linux -> .
print(os.extsep) #linesep 获取操作系统的换行符号 window -> \r\n linux/unix -> \n
print(repr(os.linesep)) #导入os模块
import os #以下内容都是os.path子模块中的内容 #abspath() 将相对路径转化为绝对路径
path = './boys'#相对
result = os.path.abspath(path)
print(result) #dirname() 获取完整路径当中的目录部分 & basename()获取完整路径当中的主体部分
path = '/home/sy/boys'
result = os.path.dirname(path)
print(result) result = os.path.basename(path)
print(result) #split() 将一个完整的路径切割成目录部分和主体部分
path = '/home/sy/boys'
result = os.path.split(path)
print(result) #join() 将2个路径合并成一个
var1 = '/home/sy'
var2 = '000.py'
result = os.path.join(var1,var2)
print(result) #splitext() 将一个路径切割成文件后缀和其他两个部分,主要用于获取文件的后缀
path = '/home/sy/000.py'
result = os.path.splitext(path)
print(result) #getsize() 获取文件的大小
#path = '/home/sy/000.py'
#result = os.path.getsize(path)
#print(result) #isfile() 检测是否是文件
path = '/home/sy/000.py'
result = os.path.isfile(path)
print(result) #isdir() 检测是否是文件夹
result = os.path.isdir(path)
print(result) #islink() 检测是否是链接
path = '/initrd.img.old'
result = os.path.islink(path)
print(result) #getctime() 获取文件的创建时间 get create time
#getmtime() 获取文件的修改时间 get modify time
#getatime() 获取文件的访问时间 get active time import time filepath = '/home/sy/下载/chls' result = os.path.getctime(filepath)
print(time.ctime(result)) result = os.path.getmtime(filepath)
print(time.ctime(result)) result = os.path.getatime(filepath)
print(time.ctime(result)) #exists() 检测某个路径是否真实存在
filepath = '/home/sy/下载/chls'
result = os.path.exists(filepath)
print(result) #isabs() 检测一个路径是否是绝对路径
path = '/boys'
result = os.path.isabs(path)
print(result) #samefile() 检测2个路径是否是同一个文件
path1 = '/home/sy/下载/001'
path2 = '../../../下载/001'
result = os.path.samefile(path1,path2)
print(result) #os.environ 用于获取和设置系统环境变量的内置值
import os
#获取系统环境变量 getenv() 效果
print(os.environ['PATH']) #设置系统环境变量 putenv()
os.environ['PATH'] += ':/home/sy/下载'
os.system('chls')

SYS模块

该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数。它始终可用

#!/usr/bin/env python
# coding=utf-8
__author__ = 'Luzhuo'
__date__ = '2017/5/8'
# sys_demo.py sys解释器相关函数
# 该模块含有解释器的一些变量,与解释器交互的函数 import sys def sys_demo():
# 默认编码
print(sys.getdefaultencoding()) # Python版本
print(sys.version) # 添加模块路径到搜索路径
sys.path.append("./module") # (函数)打印异常信息
try:
/ 0
except:
types, value, back = sys.exc_info() # 捕获异常
sys.excepthook(types, value, back) # 打印异常 # 输入和输出
sys.stdout.write(">> ")
sys.stdout.flush()
strs = sys.stdin.readline()[:-1]
sys.stderr.write("输入的内容为: {}".format(strs))
sys.stderr.flush() def sys_func():
lists = sys.argv # 传递给Python脚本的命令行参数列表 => python p.py -> ['p.py'] / python p.py a 1 -> ['p.py', 'a', '1'] / 程序内执行 -> ['']
strs = sys.getdefaultencoding() # 默认字符集名称
strs = sys.getfilesystemencoding() # 系统文件名字符集名称
num = sys.getrefcount(object) # 返回object的引用计数(比实际多1个)
dicts = sys.modules # 已加载的模块, 可修改, 但不能通过修改返回的字典进行修改
lists = sys.path # 模块搜索路径
sys.path.append("./test") # 动态添加模块搜索路径
strs = sys.platform # 平台标识符(系统身份进行详细的检查,推荐使用) Linux:'linux' / Windows:'win32' / Cygwin:'cygwin' / Mac OS X:'darwin'
strs = sys.version # python解释器版本
lists = sys.thread_info # 线程信息
num = sys.api_version # 解释器C API版本 types, value, back = sys.exc_info() # 捕获异常 详见 异常 文章的 excep() 代码块第二小部分(http://blog.csdn.net/rozol/article/details/69313164)
sys.excepthook(types, value, back) # 打印异常
types = sys.last_type
value = sys.last_value
back = sys.last_traceback
# sys.exit([arg]) // 引发SystemExit异常退出Python(可以try), 范围[0,127], None==0, "string"==1
sys.exit(0) num = sys.getrecursionlimit() # 最大递归数(堆栈最大深度), 详见 函数 文章(http://blog.csdn.net/rozol/article/details/69242050)
sys.setrecursionlimit(5000) # 修改最大递归数 fnum = sys.getswitchinterval() # 获取线程切换间隔
sys.setswitchinterval(0.005) # 设置线程切换间隔, 单位秒
num = sys.getcheckinterval() # 解释器的检查间隔
sys.setcheckinterval(100) # 设置解释器检查间隔, 执行(默认)100个虚拟指令执行一次检查, 值为<=0时,检查每个虚拟指令 # sys.stdin // 标准输入流
strs = sys.stdin.readline()[:-1]
# sys.stdout // 标准出入输出
sys.stdout.write(">>")
sys.stdout.flush()
# sys.stderr // 标注错误流
sys.stderr.write(">>") # --- lists = sys.builtin_module_names # 所有模块 (注:非导入模块)
path = sys.base_exec_prefix # Python安装路径
path = sys.base_prefix # 同base_exec_prefix
path = sys.exec_prefix # 同base_exec_prefix
path = sys.prefix # 同base_exec_prefix
path = sys.executable # Python解释器的绝对路径 strs = ys.byteorder # 本机字节顺序指示器, big-endian(最高有效字节在第一位)值为'big', little-endian(最低有效字节在第一位)值为'little'
strs = sys.copyright # python版权
num = sys.hexversion # 16进制版本号
lists = sys.implementation # 当前运行的解释器的信息
num = sys.getallocatedblocks() # 解释器当前分配的内存块的数量
boolean = sys.dont_write_bytecode # 是否不会尝试导入源模块是写入.pyc文件 (False会写入.pyc文件)
# sys.getsizeof(object[, default]) // 返回对象的大小bit, 只计算自身内存消耗,不计算引用对象的内存消耗, 调用对象的__sizeof__(), default没有获取到默认返回值
num = sys.getsizeof(object)
boolean = sys.is_finalizing() # 解释器是否正在被关机
num = sys.maxsize # 最大整数值(2 ** 31 -1), 与系统有关
num = sys.maxunicode # 最大Unicode值的整数 (1114111)
strs = sys.ps1 # 解释器主提示符
strs = sys.ps2 # 解释器次提示符 sys.call_tracing(func, ("arg",)) # 调用函数
sys._clear_type_cache() # 清除内部类型缓存
sys._debugmallocstats() # 打印CPython内存分配器状态的低级信息 sys.setprofile(profilefunc) # 设置profile函数, 默认None
sys.getprofile() # 获取profile函数
sys.settrace(tracefunc) # 设置跟踪函数, def tracefunc(frame、event 和arg):
sys.gettrace() # 获取跟踪函数, 默认None
sys.set_coroutine_wrapper(wrapper) # 设置包装 def wrapper(coro):
sys.get_coroutine_wrapper() # 包装, 默认None if __name__ == "__main__":
sys_demo() # sys_func()

转载自:https://www.cnblogs.com/cloak/p/11237285.html

Python系统模块os.py和sys.py常用函数的更多相关文章

  1. Python—系统模块(os和sys)

    os模块 https://www.cnblogs.com/feifeifeisir/p/9519282.html sys模块 获取Python版本信息 import sys a = sys.versi ...

  2. python 系统模块 OS

    os.system("系统命令")  调用系统命令 os.system("task kill /f /im 系统的进程") 关闭系统进程 os.listdir( ...

  3. Python文件属性模块Os.path

    Python文件属性模块Os.path介绍 os.path模块主要用于文件属性获取和判断,在编程中会经常用到,需要熟练掌握.以下是该模块的几种常用方法. os.path官方文档:http://docs ...

  4. python之模块 os

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块 os import os ''' FUNCTIONS abort(...)#暂不了解 a ...

  5. python之模块(os、sys、json、subprocess)

    目录 os模块 sys模块 json模块 subprocess模块 os模块 os模块主要是与操作系统打交道. 导入os模块 import os 创建单层文件夹,路径必须要存在 os.mkdir(路径 ...

  6. python --- 23 模块 os sys pickle json

    一.   os模块 主要是针对操作系统的 用于文件操作 二.    sys 模块 模块的查找路径   sys.path 三.pickle 模块 1.  pickle.dumps(对象) 序列化  把对 ...

  7. python系统模块

    Python中大多数系统接口都集中在两个模块:sys和os.这么说有点过于简单化 还有一些其他的表转模块也属于这个领域他们包括: glob 用于文件名的扩展 socket 用于网络连接和进程间通信(I ...

  8. python 操作系统模块 -- OS

    os,语义为操作系统,模块提供了访问多个操作系统服务的功能,可以处理文件和目录这些我们日常手动需要做的操作.os和它的子模块os.path还包括一些用于检查.构造.删除目录和文件的函数,以及一些处理路 ...

  9. Python标准模块--os

    1.模块简介 os模块主要包含普遍的操作系统相关操作,如果开发者希望自己开发的Python应用能够与平台无关,尤其需要关注os这个模块. 2.模块使用 2.1 os模块 1. os.name,输出字符 ...

  10. 系统模块 OS

    os.system("系统命令")  调用系统命令 os.system("task kill /f /im 系统的进程") 关闭系统进程 os.listdir( ...

随机推荐

  1. 叠堆柱状图(带折线版+2y轴)

    叠堆柱状图(带折线+2y轴) 代码 var chartDom=document.getElementById("stackBarAddLine"); var myChart=ech ...

  2. 学习Vue过程中遇到的问题---code: 'MODULE_NOT_FOUND'

    在学习安装脚手架Vue-cli过程中 步骤为: 第一步(仅第一次执行):全局安装@vue/cli. npm install -g @vue/cli 第二步:切换到你要创建项目的目录,然后使用命令创建项 ...

  3. JZOJ 1077. 【GDKOI2006】防御力量

    \(\text{Solution}\) 首先这个题目描述得不清不楚 反正做法是过 \(A\) 城引一条直线,算出直线两侧点数的 \(min\) 找到最优直线,即 \(min\) 最小的 那么重点在判断 ...

  4. [COCI2015-2016#2] VUDU

    题目传送门 思路 这是一种简单的树状数组解法. 我们设偏移值表示 \(a_i\) 与目标平均数 \(p\) 的差值,显然,一个区间若能满足条件,需要满足此区间的偏移值之和 \(\ge 0\). 看到区 ...

  5. nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error(可行)

    错误原因 在设置npm的cache和predix时,因为使用参考其他教程照抄,而没有修改为本机对应路径,本机上并没有这个地址,因此造成了错误. npm config set cache "D ...

  6. XShell 连接 VMware Linux

    如果你的系统是 Ubuntu,并且是精简安装的系统,极大可能使用ifconfig时会提示你安装相关依赖,所以你安装的时候要记得顺带安装 ifconfig: sudo apt install ifcon ...

  7. 全局视角看技术-Java多线程演进史

    作者:京东科技 文涛 全文较长共6468字,语言通俗易懂,是一篇具有大纲性质的关于多线程的梳理,作者从历史演进的角度讲了多线程相关知识体系,让你知其然知其所以然. 前言 2022年09月22日,JDK ...

  8. LeetCode-1996 游戏中弱角色的数量

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/the-number-of-weak-characters-in-the-game 题目描述 你正 ...

  9. Git Please commit your changes or stash them before you merge.

    本地分支和远程修改了同一个文件代码,pull远程分支的代码的时候会文件冲突 出现这个错误 Please commit your changes or stash them before you mer ...

  10. SDN拓扑实践

    一.使用Mininet可视化工具,生成下图所示的拓扑,并保存拓扑文件名为学号.py 二.使用Mininet的命令行生成如下拓扑: 1) 3台交换机,每个交换机连接1台主机,3台交换机连接成一条线. 2 ...