1. 程式人生 > >keras版本的Mask-RCNN裡的相關的python函式解釋

keras版本的Mask-RCNN裡的相關的python函式解釋

1、next()方法

概述:next()方法在檔案迭代器時使用到,在迴圈中,next()方法會在每次迴圈中呼叫,改方法返回檔案的下一行,如果達到結尾(EOF),則會觸發StopIteration ,這裡是相當於這個類裡面有next()方法。

例子,假如在檔案runboot.txt的內容如下

這是第一行這是第二行這是第三行這是第四行這是第五行

則迴圈讀取檔案的內容:

#-*- coding:UTF-8 -*-
#開啟檔案
fo=open("runboot.txt","rw+")
print "檔名為:", fo.name
for index in range(5):
   line=fo.next()
   print "第%d 行 -%s"%(index,line)
fo.close()

2、另一個則是next()函式

描述:next()返回迭代器的下一個專案

例項:

以下例項展示了 next 的使用方法:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

# 首先獲得Iterator物件:
it = iter([1, 2, 3, 4, 5])
# 迴圈:
while True:
    try:
        # 獲得下一個值:
        x = next(it)
        print(x)
    except StopIteration:
        # 遇到StopIteration就退出迴圈
        break

2、Python of.walk()方法

概述:

os.walk()方法用於通過在目錄樹中游走輸出在目錄中的檔名,向上或者向下。方法是一個簡單易用的檔案、目錄遍歷器,可以幫助我們高效的處理檔案、目錄方面的事情。

os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

引數:

  • top -- 是你所要遍歷的目錄的地址, 返回的是一個三元組(root,dirs,files)。

    • root 所指的是當前正在遍歷的這個資料夾的本身的地址
    • dirs 是一個 list ,內容是該資料夾中所有的目錄的名字(不包括子目錄)
    • files 同樣是 list , 內容是該資料夾中所有的檔案(不包括子目錄)
  • topdown --可選,為 True,則優先遍歷 top 目錄,否則優先遍歷 top 的子目錄(預設為開啟)。如果 topdown 引數為 True,walk 會遍歷top資料夾,與top 資料夾中每一個子目錄。

  • onerror -- 可選, 需要一個 callable 物件,當 walk 需要異常時,會呼叫。

  • followlinks -- 可選, 如果為 True,則會遍歷目錄下的快捷方式(linux 下是 symbolic link)實際所指的目錄(預設關閉)。

例子:

# Directory of images to run detection on
IMAGE_DIR = os.path.join(ROOT_DIR, "images")

# Load a random image from the images folder
file_names = next(os.walk(IMAGE_DIR))[2]
image = skimage.io.imread(os.path.join(IMAGE_DIR, random.choice(file_names)))

 很好的例子,就是:os.walk(person_dir)返回的結果就是一個元組,其中裡面包含很多元素。其很好的例子:

3、pytho裡的“*”跟“**”號的使用:

其分別是乘跟進行指數計算,代表著最前的那個數的指數。

4、yaml格式檔案檔案儲存跟檔案讀取。

yaml格式讀取一般使用load,但是其對應的檔案開啟有幾種方式,其中一種是open,另一種是file

其中使用open函式開啟的方法為:

        import yaml
        f = open('login.yaml', encoding='utf-8')
        res = yaml.load(f)
        print(res)

使用file函式開啟:

        import yaml
        # 不過無法找到file對應的模組
        f = file('login.yaml', 'r')
        res = yaml.load(f)
        print(res)