优达学城(Udacity)深度学习笔记-1.Python&os学习
2017-01-19 17:36
603 查看
欢迎使用Markdown编辑器写博客
Python对于文件操作非常方便,很大一部分是因为
os这个库,在做优达城深度学习作业的时候里面有一堆
os,各种列表推导式混合
os.path,一下就绕晕了。这里做点笔记,方便自己学习&复习。
如上图,我当前目录是
/home/mao/tensorflow-master/tensorflow/examples/udacity
在我当前目录下有
1.
os.path.exists('notMNIST_large')
返回True
2.
os.stat('notMNIST_large.tar.gz')
返回的答案是
posix.stat_result(st_mode=33270, st_ino=1448325, st_dev=2049, st_nlink=1, st_uid=1000, st_gid=1000, st_size=247336696, st_atime=1484708728, st_mtime=1484663203, st_ctime=1484708728)其中st_size是该文件的大小,单位是Byte
3.
os.path.splitext('notMNIST_large.tar.gz')
返回的是
('notMNIST_large.tar', '.gz')
4.
os.path.join('notMNIST_large', 'A')
返回的是 ‘notMNIST_large/A’
5.
os.listdir('notMNIST_large')
返回的是该路径下所有文件名字
['I', 'E.pickle', 'B', 'A.pickle', 'G', 'D.pickle', 'J', 'F', 'E', 'G.pickle', 'J.pickle', 'C', 'D', 'H.pickle', 'B.pickle', 'I.pickle', 'A', 'C.pickle', 'H', 'F.pickle']
6.来个列表推导式和os混合起来的爽一爽
root = os.path.splitext(os.path.splitext('notMNIST_large')[0])[0] [os.path.join(root, d) for d in sorted(os.listdir(root)) if os.path.isdir(os.path.join(root, d))]
分析一下:首先是 这个root的答案是
notMNIST_large,因为内层的splitext[0]的结果是notMNIST_large.tar,然后外层的splitext[0]的结果是
notMNIST
接着我们看列表推导式这里:
先看
for d in sorted(os.listdir(root)),这个的结果是把notMNIST_large下面的所有文件文件夹按照顺序排列好赋给d。
答案是
A A.pickle B B.pickle C C.pickle D D.pickle E E.pickle F F.pickle G G.pickle H H.pickle I I.pickle J J.pickle
然后看我们的if约束条件 ,说的是
if os.path.isdir(os.path.join(root,d)),最内层
os.path.join(root,d)的结果是 notMNIST/A notMNIST/A.pickle …… 然后os.path.isdir()来判断这些是不是dir,是的话对应位置就是true,否则就是false。
所以这个列表推导式for 后面的结果就是A B ……J,最终这个列表推导式的结果就是notMNIST/A , notMNIST/B ……
相关文章推荐
- python学习笔记(re module && os)
- python 核心编程学习笔记(1, 2章) 对应Let's-python视频第1, 2, 3集
- Python学习笔记 OS.Path模块
- python 系统学习笔记(十二)---os os.path os.walk
- Python & 数据分析学习笔记[第2篇]
- Python学习笔记二---OS.Path模块
- python 核心编程学习笔记(第3章) 对应Let's-python视频第4集
- <<C语言深度剖析>>学习笔记之一:C语言中32个关键字
- Python 学习笔记 (7)—— OS模块
- <<C语言深度剖析>>学习笔记之五:指针与数组
- [Python][MachineLeaning]Python Scikit-learn学习笔记1-Datasets&Estimators
- python学习笔记之module && package
- python 系统学习笔记(十二)---os os.path os.walk
- python学习笔记 - python os与os.path模块
- Python学习笔记四(GUID&UUID)
- Python学习笔记 OS模块
- python学习笔记<os module>
- 「学习笔记——Python」Google's Python Class 学习笔记
- python基础教程_学习笔记20:标准库:一些最爱——os
- Python学习笔记(Python OS模块)