技術點五六

2021-09-27 10:26:37 字數 1112 閱讀 2039

1、遍歷檔案,使用 python 自帶的 glob 模組

import glob

result = glob.glob('**/*.py', recursive=true)

print(result)

在使用 glob 模組時,第乙個引數指定目標檔案的檔名格式,這裡可以使用 linux 中的萬用字元:

如果檔名寫為 *.py ,那麼就是當前資料夾下面的所有 .py 檔案 。

如果檔名寫為 **/*.py ,那麼就是當前第一層子資料夾下面的所有 .py 檔案 。

如果檔名寫為 **/*.py ,並且增加引數 recursive = true ,那麼就是遞迴搜尋當前資料夾和所有子資料夾 。

2、mongodb 正確中斷正在建立的索引

import pymongo

handler = pymongo.mongoclient().yourdb.yourcol

# 前台索引

handler.create_index('欄位名')

# 後台索引

handler.create_index('欄位名', background=true)

索引分為前台索引和後台索引 。如果集合裡面有很多資料,並且你使用的是前台索引,那麼此時,建立索引會把這個集合鎖起來,所有對這個集合的寫入操作都會掛起,直到索引建立完成為止 。如果使用的是後台索引,那麼建立索引的過程不會影響資料寫入。

有時候,本來想建立後台索引,卻忘記加 background = true 引數 。 大集合建立索引有時候可能需要好幾個小時,掛起的寫入資料會堆積在記憶體裡面,把記憶體撐爆。此時千萬不要重啟 mongodb ,因為重啟之後,之前沒有完成的索引建立操作依然會自動啟動繼續建立 。正確的做法是殺掉建立索引的程序 。

此時,我們可以在 mongodb shell 或者 robo 3t 裡面操作 。這裡以 robo 3t 為例,首先開啟對應的集合,然後把命令欄裡面的內容修改為 db.currentop() 。建立索引的程序,可以在引數裡面看到類似於 "locktype" : "write" 這樣的字段 。在它附近,可以找到乙個字段叫做 opid 。然後在命令欄輸入命令:db.killop(opid) 殺掉程序,然後重新建立後台索引即可 。

高階程式設計技術作業(第五 六章)

總結 這兩章主要內容為條件判斷語句的使用和一種新的資料結構字典的使用。對於條件判斷語句,需要掌握的有條件判斷語句的基本結構,如if,else,elif等,另外還需要掌握and,or,in,not in等判斷用的關鍵字,如果有c語言的基礎,這一點並不難掌握 對於字典的使用,要學會對字典進行建立 遍歷 ...

CMake 例子五六

例子五 前面還是有一點不爽 如果想讓可執行檔案在 bin 目錄,庫檔案在 lib 目錄怎麼辦?就像下面顯示的一樣 build bin hello.exe lib hello.lib 一種辦法 修改頂級的 cmakelist.txt 檔案 project hello add subdirectory ...

五六單元練習

五 六單元練習 1.新建使用者組,shengchan,caiwu,jishu 2.新建使用者要求如下 tom 是shengchan組的附加使用者 harry 是caiwu組的附加使用者 leo 是jishu組的附加使用者 新建admin使用者,此使用者不屬於以上提到的三個部門 3.新建目錄要求如下 ...