python基础篇09-os sys math模块

常见os模块命令:

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

import os

2. os.name()

输出字符串指示正在使用的平台。如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。下面是目前被注册的名字:'posix', 'nt', 'mac', 'os2', 'ce', 'java', 'riscos'

3. os.getcwd()

函数得到当前工作目录,即当前Python脚本工作的目录路径。

4. os.listdir()

返回指定目录下的所有文件和目录名。

5.os.remove()

删除一个文件。

6. os.system()

运行shell命令。

>>> os.system('dir')
0
>>> os.system('cmd') #启动dos
>>>os.system('cls') #执行清屏
7. os.sep

可以取代操作系统特定的路径分割符。

8. os.linesep

字符串给出当前平台使用的行终止符
Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。

9 .os.path.split()

函数返回一个路径的目录名和文件名

>>> os.path.split('C:\\Python25\\abc.txt')
('C:\\Python25', 'abc.txt')
10. os.path.isfile()和os.path.isdir()

函数分别检验给出的路径是一个文件还是目录。

11. os.chdir(path)

修改当前工作目录

12. os.abspath()

返回path的绝对路径

可以将相对路径转化为绝对路径

>>> os.path.abspath('.')
'D:\\pythontest\\ostest'
>>> os.path.abspath('..')
'D:\\pythontest'
13. os.path.getsize(name)

获得文件大小,如果name是目录返回0L

14. os.path.join(path,name)

连接目录与文件名或目录

15. os.path.basename(path)

返回文件名

16. os.path.dirname(path)

返回文件路径

17. 查看文件时间

os.path.getmtime(path):文件或文件夹的最后修改时间,从新纪元到访问时的秒数。
os.path.getatime(path):文件或文件夹的最后访问时间,从新纪元到访问时的秒数。
os.path.getctime(path):文件或文件夹的创建时间,从新纪元到访问时的秒数。

pickle模块

Python提供了pickle模块来实现序列化。我们把变量从内存中变成可存储或传输的过程称之为序列化

>>> import pickle
>>> d = dict(name='Bob', age=20, score=88)
>>> pickle.dumps(d)

b'\x80\x03}q\x00(X\x03\x00\x00\x00ageq\x01K\x14X\x05\x00\x00\x00scoreq\x02KXX\x04\x00\x00\x00nameq\x03X\x03\x00\x00\x00Bobq\x04u.'

pickle.dump()直接把对象序列化后写入一个file-like Object:

>>> f = open('dump.txt', 'wb')
>>> pickle.dump(d, f)
>>> f.close()

当我们要把对象从磁盘读到内存时,可以先把内容读到一个bytes,然后用pickle.loads()方法反序列化出对象

>>> f = open('dump.txt', 'rb')
>>> d = pickle.load(f)
>>> f.close()
>>> d

{'age': 20, 'score': 88, 'name': 'Bob'}
例子1:
#导入os模块
import os
#获取当前路径的文件和文件夹
print(os.listdir())
#获取指定路径下的文件和文件夹
print(os.listdir("E:\\python1712"))
print("***********")
def get_path1(ph):
    #获取ph路径下的所有文件和文件夹
    file_list=os.listdir(ph)
    #遍历list文件列表
    for files in file_list:
        #拼接路径
        f=ph+os.path.sep+files
        #判断是否是文件 isfile
        if os.path.isfile(f):
            print("这是一个文件:%s"%f)
        
        #判断是否是文件夹
        if os.path.isdir(f):
            print("这是一个文件夹:%s"%f)

            get_path1(f)

def main():
    ph=input("请输入路径:")
    get_path1(ph)

main()
例子2:
import os
def update_files(ph):
    #获取指定路径下的文件
    list_file=os.listdir(ph)
    #遍历文件列表
    for files in list_file:
        #拼接路径
        old_path=os.path.join(ph,files)
        #判断是否是文件
        if os.path.isfile(old_path):
            #查找.
            ind=files.rfind(".")
            #修改文件名
            new_name=files[0:ind]+"-new"+files[ind:]
        else:
            new_name=files+"-new"
        new_path=os.path.join(ph,new_name)
        #重名名
        os.rename(old_path,new_path)

def main():
    pat=input("请输入一个路径:")
    update_files(pat)
    print("欧啦...")
main()
例子3(来自网络):
import os
def new_file(test_dir):
    #列举test_dir目录下的所有文件(名),结果以列表形式返回。
    lists=os.listdir(test_dir)
    #sort按key的关键字进行升序排序,lambda的入参fn为lists列表的元素,获取文件的最后修改时间,所以最终以文件时间从小到大排序
    #最后对lists元素,按文件修改时间大小从小到大排序。
    lists.sort(key=lambda fn:os.path.getmtime(test_dir+'\\'+fn))
    #获取最新文件的绝对路径,列表中最后一个值,文件夹+文件名
    file_path=os.path.join(test_dir,lists[-1])
    return file_path

#返回D:\pythontest\ostest下面最新的文件
print new_file('D:\\system files\\workspace\\selenium\\email126pro\\email126\\report')

sys模块

sys.argv[] 获取命令行执行参数列表
Sys.argv[ ]其实就是一个列表,里边的项为用户输入的参数,关键就是要明白这参数是从程序外部输入的,而非代码本身的什么地方,要想看到它的效果就应该将程序保存了,从外部来运行程序并给出参数。
sys.exc_info() 获取当前正在处理的异常类
sys.models.keys() 返回所有已经导入的模块列表
sys.hexversion 获取python解释程序的版本值
sys.version 获取python解释程序的版本信息
sys.exit(0) 退出程序,0:正常退出 表示输出状态
sys.maxsize 默认的最大int值
sys.maxunicode 最大的Unicode值
sys.api_version 解释器的c的api版本
sys.platform 返回操作系统平台名称
sys.path 返回系统导入的模块名称,初始化时使用pythonPATH环境变量的值
sys.exc_prefix 返回平台独立的python文件安装都得位置

math模块

python中math模块中提供的基本数学函数
sin(x):求x的正弦
cos(x):求x的余弦
asin(x):求x的反正弦
acos(x):求x的反余弦
tan(x):求x的正切
atan(x):求x的反正切

fmod(x,y):求x/y的余数
ceil(x):取不小于x的最小整数
floor(x):求不大于x的正大整数
fabs(x):求绝对值
pow(x,y):求x的y次幂
log10(x):求x的以10位底的对数
sqrt(x):求x的平方根
factorial(x) 求x的阶乘
trunc(x) 求x的整数部分

你可能感兴趣的:(python基础篇09-os sys math模块)