一、os - 用于提供系统级别的操作
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径; os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd; os.curdir 返回当前目录: ('.'); os.pardir 获取当前目录的父目录字符串名:('..'); os.makedirs('dirname1/dirname2') 可生成多层递归目录; os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推; os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname; os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname; os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印; os.remove() 删除一个文件; os.rename("oldname","newname") 重命名文件/目录; os.stat('path/filename') 获取文件/目录信息; os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"os.linesep 输出当前平台使用的行终止符,win下 为"\t\n",Linux下为"\n"os.pathsep 输出用于分割文件路径的字符串; os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'os.system("bash command") 运行shell命令,直接显示 os.environ 获取系统环境变量; os.path.abspath(path) 返回path规范化的绝对路径; os.path.split(path) 将path分割成目录和文件名二元组返回; os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素; os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾则返回空值。即os.path.split(path)的第二个元素; os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False; os.path.isabs(path) 如果path是绝对路径,返回True; os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False; os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False; os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略; os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间; os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间;
更多点击这里
二、 sys -- 提供对解释器相关的操作
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 sys.stdout.write('please:') val = sys.stdin.readline()[:-1]
更多点击这里
三、 time
时间相关操作,有三种表达方式:
时间戳 1970年1月1日之后的秒,即:time.time()
格式化的字符串 2014-11-11 11:11, 即:time.strftime('%Y-%m-%d')
结构化时间 元组包含了:年、日、星期等... time.struct_time 即:time.localtime()
>>> time.time()
1453650950.0419753
>>> time.strftime('%Y-%m-%d %H-%M-%S')
'2016-01-24 23-56-45'
>>> time.localtime()
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=24, tm_hour=23,
tm_min=57, tm_sec=12, tm_wday=6, tm_yday=24, tm_isdst=0)
时间相关方法:
time.mktime() # 接结构化时间参数,将结构化时间转成时间戳形式;
>>> time.localtime()
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=25, tm_hour=0, tm_min=19, tm_sec=42, tm_wday=0, tm_yday=25, tm_isdst=0)
>>> time.mktime(time.localtime())
1453652393.0
time.gmtime() # 接时间戳参数,将时间戳转成结构化时间形式(time.mktime()相反)
>>> time.time()
1453652560.9539487
>>> time.gmtime(time.time())
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=24, tm_hour=16, tm_min=22, tm_sec=50, tm_wday=6, tm_yday=24, tm_isdst=0)
time.localtime() # 接时间戳参数,将时间戳转成结构化时间形式(与time.mktime()相同)
>>> time.localtime(time.time())
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=25, tm_hour=0, tm_min=25, tm_sec=28, tm_wday=0, tm_yday=25, tm_isdst=0)
time.strptime('2016-01-01','%Y-%m-%d') # 将指定的时间转成结构化时间形式;
>>> time.strptime('2016-01-01','%Y-%m-%d')
time.struct_time(tm_year=2016, tm_mon=1, tm_mday=1, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=4, tm_yday=1, tm_isdst=-1)
time.strftime('%Y-%m-%d') # 默认当前时间,转成结构化时间;
time.ctime() # 转成年月日形式
>>> time.ctime(1753653560.495428)
'Mon Jul 28 05:59:20 2025'
>>> time.ctime(time.time()-86640)
'Sun Jan 24 00:37:24 2016'
time.asctime()
>>> time.asctime()
'Mon Jan 25 02:23:59 2016'
>>> time.asctime(time.localtime())
'Mon Jan 25 02:24:09 2016'
注:time.gmtime()格林威治(0时区)time.localtime()本地时区(东8区),两种方法相差八小时。
datetime
datetime.date:表示日期的类。常用的属性有year, month, day
datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond
datetime.datetime:表示日期时间
datetime.timedelta:表示时间间隔,即两个时间点之间的长度
timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[,
hours[, weeks]]]]]]])
strftime("%Y-%m-%d")
>>> import datetime
>>> datetime.datetime.now()
datetime.datetime(2016, 1, 25, 2, 33, 9, 665769)
>>> datetime.datetime.now() - datetime.timedelta(seconds=50)
datetime.datetime(2016, 1, 25, 2, 32, 21, 464165)
>>> datetime.datetime.now().replace(2014,1,1)
datetime.datetime(2014, 1, 1, 2, 33, 13, 328845)
>>> time.localtime().tm_year
2016
------------------------更多内容请见 《python 内置模块(二)》------------------------