python训练模型函数参数_Python模型训练常用工具函数

持续更新。。。

1 Python os.path() 模块:

os.path 模块主要用于获取文件的属性。

以下是 os.path 模块的几种常用方法:os.path.abspath(path)返回绝对路径。

os.path.basename(path)返回文件名。

os.path.commonprefix(list)返回list(多个路径)中,所有path共有的最长的路径。

os.path.dirname(path)返回文件路径。

os.path.exists(path)如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。

os.path.isabs(path)判断是否为绝对路径。

os.path.isfile(path)判断路径是否为文件。

os.path.isdir(path)判断路径是否为目录。

os.path.islink(path)判断路径是否为链接。

os.path.split(path)把路径分割成 dirname 和 basename,返回一个元组。

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import os

print( os.path.basename('/root/runoob.txt') ) # 返回文件名

print( os.path.dirname('/root/runoob.txt') ) # 返回目录路径

print( os.path.split('/root/runoob.txt') ) # 分割文件名与路径

print( os.path.join('root','test','runoob.txt') ) # 将目录和文件名合成一个路径

2 Python vars() 函数:

vars()函数返回对象object的属性和属性值的字典对象。

vars() 函数语法:

vars([object])

#vars()

print(vars())

class Foo:

a = 1

print(vars(Foo))

foo = Foo()

print(vars(foo))

输出结果如下:

{'Foo': , 'B': , '__name__': '__main__', '__doc__': None, '__spec__': None,...

{'__module__': '__main__', 'a': 1, '__dict__': , '__weakref__': , '__doc__': None}

{}

3 Python os.listdir() 方法:

listdir()方法语法格式如下:

os.listdir(path)

参数:path -- 需要列出的目录路径

返回值:

返回指定路径下的文件和文件夹列表,需要注意的是它接收的参数需要是一个绝对的路径。

输出该路径下的所有文件和目录名称:

import os

path = '/home/python/Desktop/'

for i in os.listdir(path):

print(i)

4 Python __dict__属性:

# -*- coding: utf-8 -*-

class Parent(object):

a = 0

b = 1

def __init__(self):

self.a = 2

self.b = 3

def p_test(self):

pass

class Child(Parent):

a = 4

b = 5

def __init__(self):

super(Child, self).__init__()

# self.a = 6

# self.b = 7

def c_test(self):

pass

def p_test(self):

pass

p = Parent()

c = Child()

print Parent.__dict__

print Child.__dict__

print p.__dict__

print c.__dict__

结果如下:

{'a': 0, '__module__': '__main__', 'b': 1, '__dict__': , 'p_test': , '__weakref__': , '__doc__': None, '__init__': }

{'a': 4, 'c_test': , '__module__': '__main__', 'b': 5, 'p_test': , '__doc__': None, '__init__': }

{'a': 2, 'b': 3}

{'a': 2, 'b': 3}

虽然说一切皆对象,但对象也有不同,就好比不是每个人的女朋友都是一个人一样,一些内置的数据类型是没有__dict__属性的,如下:

num = 3

ll = []

dd = {}

print num.__dict__

print ll.__dict__

print dd.__dict__

结果:

Traceback (most recent call last):

File "f:\python\test.py", line 54, in

print num.__dict__

AttributeError: 'int' object has no attribute '__dict__'

Traceback (most recent call last):

File "f:\python\test.py", line 55, in

print ll.__dict__

AttributeError: 'list' object has no attribute '__dict__'

Traceback (most recent call last):

File "f:\python\test.py", line 56, in

print dd.__dict__

AttributeError: 'dict' object has no attribute '__dict__'

总结:

1) 内置的数据类型没有__dict__属性

2) 每个类有自己的__dict__属性,就算存着继承关系,父类的__dict__ 并不会影响子类的__dict__

3) 对象也有自己的__dict__属性, 存储http://self.xxx 信息,父子类对象公用__dict__

5 Python 动态导入对象,importlib.import_module()使用:

一个函数运行需要根据不同项目的配置,动态导入对应的配置文件运行。

文件结构:

a #文件夹

│a.py

│__init__.py

b #文件夹

│b.py

│__init__.py

├─c#文件夹

│c.py

│__init__.py

# c.py 中内容

args = {'a':1}

class C:

def c(self):

pass

向a模块中导入C模块的对象:

a.py:

import importlib

params = importlib.import_module('b.c.c') #绝对导入

params_ = importlib.import_module('.c.c',package='b') #相对导入

# 对象中取出需要的对象

params.args #取出变量

params.C #取出class C

params.C.c #取出class C 中的c 方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值