python常见模块命令(os/sys/platform)

一、Os

Python的标准库中的os模块主要涉及普遍的操作系统功能。可以在Linux和Windows下运行,与平台无关。

  • os.sep 可以取代操作系统特定的路径分割符。 
  • os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。 
  • os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。 
  • os.getenv()和os.putenv()函数分别用来读取和设置环境变量。 
  • os.listdir()返回指定目录下的所有文件和目录名。 
  • os.remove()函数用来删除一个文件。 
  • os.system()函数用来运行shell命令。
  • os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。
  • os.path.split()函数返回一个路径的目录名和文件名。
  • os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
  • os.path.existe()函数用来检验给出的路径是否真地存在
  • os和os.path模块
  • os.listdir(dirname):列出dirname下的目录和文件
  • os.getcwd():获得当前工作目录
  • os.curdir:返回但前目录('.')
  • os.chdir(dirname):改变工作目录到dirname
  • os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
  • os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
  • os.path.exists(name):判断是否存在文件或目录name
  • os.path.getsize(name):获得文件大小,如果name是目录返回0L
  • os.path.abspath(name):获得绝对路径
  • os.path.normpath(path):规范path字符串形式
  • os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
  • os.path.splitext():分离文件名与扩展名
  • os.path.join(path,name):连接目录与文件名或目录
  • os.path.basename(path):返回文件名
  • os.path.dirname(path):返回文件路径

 

二、Sys

  • sys.argv: 实现从程序外部向程序传递参数。
  • sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
  • sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
  • sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。(见设置系统默认编码 )
  • sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.
  • sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
  • sys.platform: 获取当前系统平台。
  • sys.stdin,sys.stdout,sys.stderr stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们

 

三、Paltform

  • platform.system() 获取操作系统类型,windows、linux等
  • platform.platform() 获取操作系统,Darwin-9.8.0-i386-32bit
  • platform.version() 获取系统版本信息 6.2.0
  • platform.mac_ver()
  • platform.win32_ver() ('post2008Server', '6.2.9200', '', u'Multiprocessor Free')

sys.platform各平台的的返回值

平台                                    值
Linux (2.x and 3.x)           'linux2'   
Windows                          'win32'   
Windows/Cygwin             'cygwin'   
Mac OS X                        'darwin'   
OS/2                                  'os2'   
OS/2 EMX                       'os2emx'   
RiscOS                             'riscos'   
AtheOS                            'atheos'

<think>好的,我现在需要帮助用户了解Python中的os模块sys模块和path模块的功能与用法。根据用户的问题,他们可能希望得到清晰的解释和实际的使用示例。首先,我应该回忆这些模块的主要功能,并参考提供的引用资料来确保准确性。 首先,os模块主要用于与操作系统交互,比如文件和目录操作。用户提到的os.path模块其实属于os模块的一部分,但用户可能误以为它是一个独立的模块。我需要明确指出这一点,避免混淆。引用[1]和引用[3]都提到了os.path的用途,比如路径拼接、检查文件是否存在等,应该用这些例子来说明。 接下来是sys模块,它涉及Python解释器的环境,比如命令行参数、模块搜索路径等。引用[2]中的示例展示了如何获取系统路径、编码信息等,这些可以作为sys模块的典型用法。需要解释sys.argv、sys.path等常用功能,并给出代码示例。 然后,关于path模块,用户可能指的是os.path,因为Python中没有单独的path模块。这时候需要澄清这一点,并详细说明os.path的各种方法,如join、exists、basename等。引用[3]中的例子非常适合用来展示os.path.join的使用方法,可以引用过来。 在组织内容时,应该分模块逐一讲解,每个部分先介绍功能,再给出使用方法和示例代码。同时,要确保代码格式正确,符合用户要求的$...$和$$...$$格式,但这里主要是代码块,所以需要注意使用三个反引号包裹代码示例。 另外,用户要求生成相关问题,我需要根据这三个模块常见疑问点来设计问题,比如模块间的区别、常用函数、实际应用场景等。 现在需要检查是否有遗漏的功能点,比如os模块的其他功能(如执行系统命令、环境变量),sys模块的版本信息等。确保覆盖主要功能,同时引用正确的参考资料。例如,引用[1]提到os模块的文件和目录操作,引用[2]展示了sys模块的环境路径和编码,引用[3]详细说明了os.path.join的使用。 最后,确保回答结构清晰,分点说明,使用中文,并且每个引用的部分都正确标注来源。同时,生成的相关问题要针对用户可能进一步想了解的内容,比如模块比较、具体函数使用、实际案例等。</think>### Pythonossysos.path模块详解 #### 一、os模块:操作系统交互 功能:执行文件/目录操作、进程管理、环境变量控制等 ```python import os # 创建目录 os.mkdir("new_folder") # 获取当前工作目录 current_dir = os.getcwd() # 返回字符串:/current/path # 执行系统命令 os.system("ls -l") # 在Linux/Mac显示目录内容 # 环境变量操作 print(os.environ["PATH"]) # 输出系统PATH变量 os.environ["MY_VAR"] = "value" # 设置临时环境变量 ``` #### 二、sys模块:解释器交互 功能:访问命令行参数、模块系统、解释器配置等 ```python import sys # 命令行参数处理 print(f"脚本名称:{sys.argv[0]}") # 输出:当前脚本名称 print(f"参数列表:{sys.argv[1:]}") # 输出:附加参数列表 # Python路径管理 sys.path.append("/custom/module/path") # 添加模块搜索路径 # 系统信息获取 print(f"Python版本:{sys.version}") # 输出:3.9.5 (default...) print(f"系统平台:{sys.platform}") # 输出:win32/linux/darwin ``` #### 三、os.path模块:路径处理(属于os模块) 功能:跨平台路径操作,兼容不同操作系统格式 ```python from os import path # 路径拼接(自动处理斜杠) full_path = path.join("dir1", "subdir", "file.txt") # 生成:dir1/subdir/file.txt # 路径解析 dirname = path.dirname("/a/b/c.txt") # 返回:/a/b filename = path.basename("/a/b/c.txt") # 返回:c.txt # 文件检测 exists = path.exists("data.csv") # 返回布尔值 is_file = path.isfile("data.csv") # 判断是否为文件 # 路径标准化 clean_path = path.normpath("dir//sub/../file") # 生成:dir/file ``` #### 四、核心区别对比表 | 模块 | 应用场景 | 典型函数 | |---------|-------------------------------|----------------------------| | os | 文件/目录操作、进程管理 | mkdir, rename, system | | sys | 解释器配置、运行时环境 | argv, exit, modules | | os.path | 路径操作、文件属性检测 | join, exists, splitext | #### 五、联合使用示例 ```python import sys import os from os import path # 获取脚本所在目录 script_dir = path.dirname(path.abspath(sys.argv[0])) # 创建日志目录 log_dir = path.join(script_dir, "logs") if not path.exists(log_dir): os.mkdir(log_dir) # 构造日志路径 log_file = path.join(log_dir, "app.log") with open(log_file, "w") as f: f.write(f"System encoding: {sys.getfilesystemencoding()}") ``` [^1]: Python内置模块文档说明 [^2]: 系统运行时环境获取示例 [^3]: 路径操作最佳实践
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值