优达学城(Udacity)深度学习笔记-1.Python&os学习
来源:互联网 发布:c语言字符个数统计 编辑:程序博客网 时间:2024/05/29 18:08
欢迎使用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。
答案是
AA.pickleBB.pickleCC.pickleDD.pickleEE.pickleFF.pickleGG.pickleHH.pickleII.pickleJJ.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 ……
- 优达学城(Udacity)深度学习笔记-1.Python&os学习
- udacity上Google的深度学习笔记
- Udacity深度学习(google)笔记(2)——深度神经网络, tensorflow
- 非监督学习(Udacity学习笔记)
- ES6学习笔记-Udacity
- Udacity深度学习(google)笔记(1)——notmnist
- Udacity深度学习(google)笔记(3)——CNN 卷积模型
- Udacity自动驾驶课程笔记(二)--计算机视觉和深度学习
- Udacity无人驾驶工程师学习笔记(一)
- Udacity深度学习-深度神经网络-assignment3
- Udacity深度学习(google)笔记(4)——文本和序列的深度模型(word2vec, RNN, LSTM)
- udacity 学习笔记:按天算年龄
- Python学习笔记(Python OS模块)
- Udacity 深度学习_学习笔记(1)TensorFlow练习环境安装
- python学习笔记(26)--os模块
- 深度学习---Python OS模块命令
- Udacity机器学习(进阶)P3用到的函数笔记
- Python学习笔记 OS模块
- HTML5 meta标签属性整理
- 网页游戏开发入门教程一(webgame+design)
- BZOJ 1031: [JSOI2007]字符加密Cipher 后缀数组
- 浅析Linux下的task_struct结构体
- javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度
- 优达学城(Udacity)深度学习笔记-1.Python&os学习
- oracle中 connect by prior 递归算法
- Blockmanager解密
- bootstrapValidator验证的问题
- hdu 1698 线段树 成段更新
- k8s-Building Large Clusters
- git常用命令小总结 无解释
- android中的ellipsize
- 最快的哈希算法