python经典的文件操作

下面一段代码,从下载,解压再到装载数据一气呵成,动作毫不拖泥带水。非常漂亮的一段代码

from pathlib import Path
import requests

DATA_PATH = Path("data")
PATH = DATA_PATH / "mnist"

PATH.mkdir(parents=True, exist_ok=True)

URL = "https://github.com/pytorch/tutorials/raw/master/_static/"
FILENAME = "mnist.pkl.gz"

if not (PATH / FILENAME).exists():
        content = requests.get(URL + FILENAME).content
        (PATH / FILENAME).open("wb").write(content)

import pickle
import gzip

with gzip.open((PATH / FILENAME).as_posix(), "rb") as f:
        ((x_train, y_train), (x_valid, y_valid), _) = pickle.load(f, encoding="latin-1")

这段代码的亮点是对pathlib库的Path模块的应用。如果使用python自带的open函数获取文件实例,然后再做read和write操作,那代码估计就要冗长得多了。

发表评论

邮箱地址不会被公开。 必填项已用*标注