import os
# 当前文件的绝对路径
ret1=os.path.abspath(__file__)
print(ret1) # E:classtextday61 ryos模块.py
# 求当前文件的父目录
ret2=os.path.dirname(ret1)
print(ret2)
# 求当前文件的父目录的父目录
ret3=os.path.dirname(ret2)
print(ret3)
# 拼接目录
ret4=os.path.join(ret3,"abc")
print(ret4) # E:classtextday61abc
# 当前操作系统的路径分隔符
ret5=os.path.sep
print(ret5) #
# Linux 路径分隔符是 /
-------------------------------------------------------------------
1. os
这个模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。一个例子就是使用os.sep
可以取代操作系统特定的路径分割符。
下面列出了一些在os
模块中比较有用的部分。它们中的大多数都简单明了。
os.name
字符串指示你正在使用的平台。比如对于Windows,它是'nt'
,而对于Linux/Unix用户,它是'posix'
。os.getcwd()
函数得到当前工作目录,即当前Python脚本工作的目录路径。os.getenv()
和os.putenv()
函数分别用来读取和设置环境变量。os.listdir()
返回指定目录下的所有文件和目录名。os.remove()
函数用来删除一个文件。os.system()
函数用来运行shell命令。os.linesep
字符串给出当前平台使用的行终止符。例如,Windows使用' '
,Linux使用' '
而Mac使用' '
。os.path.split()
函数返回一个路径的目录名和文件名。如:>>> os.path.split('/home/swaroop/byte/code/poem.txt'),其结果为:('/home/swaroop/byte/code', 'poem.txt')os.path.isfile()
和os.path.isdir()
函数分别检验给出的路径是一个文件还是目录。类似地,os.path.existe()
函数用来检验给出的路径是否真地存在。
2. sys
- sys.argv: 可从命令行中获得参数。sys.argv[0]表示程序名,sys.argv[1]即为第一个参数。
- sys.platform:获得操作系统类型
- sys.exit(n):执行至主程序的末尾时,解释器会自动退出. 但是如果需要中途退出程序, 你可以调用sys.exit 函数, 它带有一个可选的整数参数返回给调用它的程序. 这意味着你可以在主程序中捕获对sys.exit 的调用。(注:0是正常退出,其他为不正常,可抛异常事件供捕获!)
-
sys.path:在使用模块的某一个功能前,可能需要导入一些第三方包。在执行import module_name的时候,python会搜索module_name。根据sys.path的路径来搜索module.name。可以添加自己的模块路径。Sys.path.append(“mine module path”).
-
sys.modules:This is a dictionary that maps module names to modules which have already been loaded. This can be manipulated to force reloading of modules and other tricks.
-
sys.stdin,sys.stdout,sys.stderr:stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们。如:sys.stdout.write('Hello World!');name=sys.stdin.readline()[:-1]。
- sys.version_info:得到python的版本信息