Python標準庫系列之pathlib模組

2021-09-28 05:09:28 字數 1173 閱讀 5298

首先我們看使用os模組連線目錄和檔案

import os.path

data_folder = os.path.join("source_data", "text_files")

file_to_open = os.path.join(data_folder, "raw_data.txt")

f = open(file_to_open)

print(f.read())

此**可以在各個平台順利執行,但是反覆使用os.path.join很囉嗦,重點是一點都不優雅!

我們看一下:pathlib模組

from pathlib import path

data_folder = path("source_data/text_files/")

file_to_open = data_folder / "raw_data.txt"

f = open(file_to_open)

print(f.read())

pathlib可以直接讀取檔案而不需要open

from pathlib import path

data_folder = path("source_data/text_files/")

file_to_open = data_folder / "raw_data.txt"

print(file_to_open.read_text())

更多的便捷操作

from pathlib import path

filename = path("source_data/text_files/raw_data.txt")

print(filename.name)

# prints "raw_data.txt"

print(filename.suffix)

# prints "txt"

print(filename.stem)

# prints "raw_data"

if not filename.exists():

print("oops, file doesn't exist!")

else:

print("yay, the file exists!")

C 標準庫系列之errno h

errno.h 提供了乙個整數全域性變數errno,當系統呼叫或者庫函式的錯誤事件發生時可能會修改該值,指明錯誤的原因,該值可在任何需要的地方被修改 一般情況不為0的值表示出現了異常或者錯誤。errno.h中定義了一系列的錯誤 以e開頭的巨集。glibc中extern int errno來宣告定義該...

Python標準庫之time, datetime包

python具有良好的時間和日期管理功能。實際上,計算機只會維護乙個掛鐘時間 wall clock time 這個時間是從某個固定時間起點到現在的時間間隔。時間起點的選擇與計算機相關,但一台計算機的話,這一時間起點是固定的。其它的日期資訊都是從這一時間計算得到的。此外,計算機還可以測量cpu實際上執...

Python標準庫之asyncio

asyncio是python 3.4版本引入的標準庫,直接內建了對非同步io的支援。asyncio的程式設計模型就是乙個訊息迴圈。我們從asyncio模組中直接獲取乙個eventloop的引用,然後把需要執行的協程扔到eventloop中執行,就實現了非同步io。用asyncio實現hello wo...