os模块

  • os.path.driname(path):返回当前路径的上一级路径字符串。
  • os.path.basename(path):返回当前路径的目录名(文件夹名)或文件名(全称)。
  • os.path.split(path):返回一个路径以最后一个路径分割符分割后的元组。
  • os.path.splitext(file_name):返回文件名和其后缀组成的元组(后缀包含点号,比如“.txt”)。
  • os.path.isdir(path):判断一个路径是否是一个目录(文件夹)。
  • os.path.isfile(path):判断一个路径是否是一个文件。
  • os.path.join(path_str1, path_str2):将两个及以上的字符串使用当前系统的路径分隔符连接起来。
  • os.path.abspath(path):返回一个路径的绝对路径。
  • os.listdir(dir_path):以列表的形式返回一个目录(dir_path只能是目录,不能是文件名路径)下的所有文件(全称)和文件夹名称。
  • os.remove(file_path):删除指定文件。
  • os.rmdir(dir_path):删除一个空目录。
  • os.removedirs(dir_path):递归删除指定目录(空文件夹)。
  • os.path.exists(path):判断一个路径是否存在。
  • os.mkdir(dir_path):新建一个目录(文件夹)。
  • os.makedirs(dir_path):递归创建目录(文件夹)。
  • os.getcwd():获取当前工作目录。
  • os.chdir(path):改变当前工作目录为新的目录path。
  • os.walk(top_path):从top_path开始遍历目录树,每遍历一个目录就返回一个由相对于查找目录的相对路径、目录名列表和文件名列表的三元组。
  • os.system(command):调用dos命令并运行,例如:os.system('python D:\\test.py arg1 arg2'),即在DOS界面运行Python文件test.py,并传入参数“arg1”和“arg2”。
  • os._exit(status):以指定状态退出Python解释器,并不做任何处理,即运行完这条语句后就会直接退出了,后面的代码都不会执行了。退出Python解释器还有一个sys.exit()方法,详细见下面的sys模块。

注:Windows的路径分隔符为“\”,所以写路径字符串的时候一般都是要写成“\\”的,但是在Python中,无论什么平台,只需要写“/”就OK了,避免了不同平台的路径分隔符不同的问题。

  1. >>> os.path.dirname('D:\\Games')
  2. 'D:\\'
  3. >>> os.path.basename('D:\\Games\\9yin_632\\蜗牛整包\\0x0804.ini')
  4. '0x0804.ini'
  5. >>> os.path.splitext('0x0804.ini')
  6. ('0x0804', '.ini')
  7. >>> os.path.abspath('Games') # 随意写的字符串(相对路径),返回的路径字符串加上了当前的工作路径(绝对路径)
  8. 'C:\\Python27\\Games'

 


sys模块

  • sys.argv:参数字符串列表(动态对象),第一个参数为当前程序主文件的绝对路径或空字符串,如果在命令提示符界面给Python文件传了参数(不同的参数以空格分隔,无论传入的时候写的是什么类型,最终都会转成字符串),可以在这里面获取(从第二个位置开始),比如命令提示符中运行“python main.py 111 aaa”,那sys.argv就有三个元素,第二个和第三个元素分别为“111”和“aaa”。
  • sys.path:搜索模块路径字符串列表(动态对象),搜索查找模块时会优先到这里面去搜索,第一个参数为主文件所在目录的路径或空字符串。
  • sys.modules:已经加载的模块信息字典,key为模块名称,value为模块对象,在使用__import__导入模块时,可以先判断下是否有同名模块已经在sys.modules中加载了,如果已经存在了,可以先删除或者不再导入了。
  • sys.getsizeof(object):获取一个对象的内存占用字节数大小。
  • sys.getdefaultencoding():返回Python默认的字符串编码格式。
  • sys.exit([status]):退出Python解释器,并抛出一个SystemExit异常,status默认为0,即“成功”,如果status是一个整数,则被用作一个系统退出状态,如果status是其他对象,则它将会被print并系统退出状态为1,即“失败”。所以使用这个方法的话,一般是需要进行异常处理的,运行完这条语句后如果有异常捕获和处理的,会去运行后面的异常处理代码的(而os._exit()方法则不会,它不会抛出异常)。
  • sys.excutable:代码运行时表示运行的解释器绝对路径,如C:\Python36\python.exe,在打包的程序中就是exe程序文件的绝对路径,这个是用来定位用户运行该程序的真实位置。
  1. >>> sys.argv
  2. ['']
  3. >>> sys.path
  4. ['', 'C:\\Python27\\Lib\\idlelib',...] # 元素太多,省略了
  5. >>> sys.modules
  6. {'heapq': <module 'heapq' from 'C:\Python27\lib\heapq.pyc'>,...} # 元素太多,省略了
  7. >>> sys.getdefaultencoding()
  8. 'ascii'

Python学习笔记:os模块和sys模块的更多相关文章

  1. python学习笔记(26)-request模块

    python学习笔记 #requests import requests #from class_005.http_resuest import HttpRequest login_url = &qu ...

  2. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  3. python学习笔记系列----(四)模块

    这一章主要是叙述了python模块的概念以及包的概念,还有它们的使用:收获也是大大的. 提起python文件,经常会听到3个名词,python脚本,python模块,python包.脚本的概念是从py ...

  4. python学习笔记(13)常用模块列表总结

    os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename() 重命名文件 os.listdir() 列出指定目录下所有文件 os.chdir() 改变当前工作 ...

  5. python学习笔记(12)常用模块

    一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...

  6. Python学习笔记总结(二)函数和模块

    一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句        例子 Calls        myfunc(‘diege', ...

  7. Python学习笔记4(函数与模块)

    1.Python程序的结构 Python的程序由包(package).模块(module)和函数组成. 模块是处理一类问题的集合,由函数和类组成. 包是由一系列模块组成的集合.包是一个完成特定任务的工 ...

  8. python学习笔记:第八天(模块)

    Python3 模块 脚本上是用 python 解释器来编程,如果从 Python 解释器退出再进入,那么定义的所有的方法和变量就都消失了. 为此 Python 提供了一个办法,把这些定义存放在文件中 ...

  9. python学习笔记:网络请求——urllib模块

    python操作网络,也就是打开一个网站,或者请求一个http接口,可以使用urllib模块.urllib模块是一个标准模块,直接import urllib即可,在python3里面只有urllib模 ...

  10. python学习笔记:(十一)模块

    模块是指一个包含定义的函数和变量的文件,其后缀名为.py.模块可以被别的程序引用,并使用其中的函数等功能. 1.import语句 如果需要使用模块,只需要在新模块中导入模块.使用import关键字 如 ...

随机推荐

  1. JavaScript读取文本,并渲染在html

    html <pre id="myText" style="word-wrap: break-word; white-space: pre-wrap; white-s ...

  2. replcation set (复制集)配置过程 --mongodb

    一,配置规划 复制集原理(基本构成是1主2从的结构,自带互相监控投票机制(Raft(MongoDB)  Paxos(mysql MGR 用的是变种))如果发生主库宕机,复制集内部会进行投票选举,选择一 ...

  3. 牛客网Java刷题知识点之正则表达式(Matcher、Pattern)

    不多说,直接上干货! 正则表达式是什么? 正则表达式是一种可以用于模式匹配和替换的规范, 一个正则表达式就是由普通的字符(例如字符a到z) 以及特殊字符(元字符) 组成的文字模式, 它用以描述在查找文 ...

  4. spring cloud 测试的时候报 BeanCreationNotAllowedException: Error creating bean with name 'eurekaAutoServiceRegistration' 但能正确跑完测试方法

    因为都能正确的跑测试方法,所以我也不太注意它,但是有时候闲得蛋疼就会找一下原因. 具体原因我也说不清,直接丢个连接 https://github.com/spring-cloud/spring-clo ...

  5. java类及编写public类的基础点

    1.一个java文件中只能有一个public类.且公共类名称必须与java文件名一致,否则会出现错误提示.与其他面向对象编程语言的一样,在利用java分析问题时,基本思路即为将问题的属性(静)与行为( ...

  6. 使用JDK自带的VisualVM进行Java程序的性能分析

    VisualVM是什么? VisualVM是JDK自带的一个用于Java程序性能分析的工具,JDK安装完毕后就有啦,在JDK安装目录的bin文件夹下能找到名称为jvisualvm.exe. 要使用Vi ...

  7. python3.6 配置COCO API出错解决方案

    使用Anaconda Prompt进行安装 问题出现的背景:在尝试使用mask-rcnn时,遇到了这个问题,最终解决掉了

  8. UVA 1600 Patrol Robert 巡逻机器人 (启发搜索BFS)

    非常适合A*的一道题. 比普通的迷宫问题加一个信息k表示当前穿过的障碍物的数量. #include<cstdio> #include<cstring> #include< ...

  9. Python-OpenCV——Morphological Transformations(形态学转换)

    目标 这一节 我们将学习不同的形态学操作,如腐蚀.膨胀.开.闭...... 我们将看到不同的函数,如:cv2.erode().cv2.dilate().cv2.morphology() 理论 形态变换 ...

  10. 八数码问题(一) 暴力BFS + STL

    八数码问题是一个经典的人工智能问题.具体问题不累述了. 思路:由于存在多组测试数据,可以考虑“打表法“.所谓打表法,即枚举所有的初始情况,记录其到达终点的路径.而在这个题目中,顺序打表会调用很多次BF ...