基于python下的os模块及模块使用

什么是os模块:

os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行
相应的操作,在python编程时,经常和文件、目录打交道,所以离不了os模块。python编程时,经常和文件、目录打交道,
这时就离不了os模块。

os模块的简单用法:

[kiosk@foundation84 ~]$ mkdir python
[kiosk@foundation84 ~]$ cd python/
[kiosk@foundation84 python]$ touch file
[kiosk@foundation84 python]$ ipython

In [1]: import os   导入os模块

In [2]: ls   查看有建立的文件
file

In [3]: os.  查看os模块的用法

基于python下的os模块及模块使用_第1张图片

In [3]: os.rename('file','westos')   重命名文件

In [4]: ls
westos

In [5]: os.remove('westos')   删除文件

In [6]: ls

In [7]: os.mkdir('test')   建立目录

In [8]: ls
test/

In [9]: os.rmdir('test')   删除目录

In [10]: ls

基于python下的os模块及模块使用_第2张图片
os模块的常用用法:

常用的os模块命令:

1. os.name——name是指操作系统的名字,主要作用是判断目前正在使用的平台,并给出操作系统的名字。

2. os.remove(path)——删除path指定的文件,该参数不能省略。

3. os.rmdir(path)——删除path指定的目录,该参数不能省略。

4. os.mkdir(path)——创建path指定的目录,该参数不能省略。这样只能建立一层,要想递归建立可用:os.makedirs()

在两个模块中定义类和函数来当作测试模块:

测试模块01:

title = '模块1'
# 函数


def say_hello():
    print '我是%s' % title
# 类


class Dog(object):
    pass

基于python下的os模块及模块使用_第3张图片
测试模块02:

title = '模块2'
# 函数


def say_hello():
    print '我是%s' % title
# 类


class Cat(object):
    pass

基于python下的os模块及模块使用_第4张图片
导入模块文件:

# 在导入模块时,每个导入应该独占一行
import test1
import test2
test1.say_hello()
test2.say_hello()
dog = test1.Dog()
print dog
cat = test2.Cat()
print cat

基于python下的os模块及模块使用_第5张图片
导入模块时as指定别名:

# 在导入模块时,每个导入应该独占一行
# 使用as指定模块的别名(大驼峰命名法)
import test1 as DogModule
import test2 as CatModule
DogModule.say_hello()
CatModule.say_hello()
dog = DogModule.Dog()
print dog
cat = CatModule.Cat()
print cat

基于python下的os模块及模块使用_第6张图片
单独的导入模块中的类或者函数:

# 单独的导入模块中的类或者函数
from test1 import Dog
from test2 import say_hello
# 相同的类名和函数名导入的话会覆盖,应注意使用别名
from test1 import say_hello as test1_say
say_hello()
test1_say()
wangcai = Dog()
print wangcai

基于python下的os模块及模块使用_第7张图片
模块文件和系统模块文件重名:

python解释器在导入模块的时候,会:
    1.搜索当前目录指定的模块文件,如果有就直接导入
    2.如果没有,再搜索系统目录
注意:在开发时,给文件起名,不要和系统模块文件重名,会导致不必要的Bug

import random
rand = random.randint(1, 3)
print rand

基于python下的os模块及模块使用_第8张图片
测试模块测试__name__属性:

__name__属性:__name__属性可以做到,测试模块中的代码只在测试情况下被运行而在导入时不会运行;__name__是
python的一个内置属性,记录着一个字符串如果是被其他文件导入时,__name__就是模块名;如果是当前执行的程序,
__name__就是__main__.

测试模块:

# 全局变量,函数,类直接执行的代码不是向外界提供的工具
def say_hello():
    print 'hello hello'
# 运行__name__时输出是__main__
if __name__ == '__main__':
    print __name__
    print 'xfl开发的程序'
    say_hello()

基于python下的os模块及模块使用_第9张图片
__name__属性:

在很多python文件中会看到以下格式的代码

    #导入模块
    #定义全部变量
    #定义类
    #定义函数

    #在代码的下方
    def main():
        pass

    if __name__ == '__main__'
        main()

你可能感兴趣的:(python)