|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 hhzczy 于 2018-11-3 20:08 编辑
@小甲鱼
《零基础入门学习Python》P89页,关于os.path的表格中有一处表述不严谨。
“……如果完全使用目录,它也会将最后一个目录作为文件名分离……”
我在做笔记的时候尝试了以下几种情况:
- >>> import os
- >>> os.path.split('C:\\Program Files (x86)\\Anki\\Anki.exe') # 文件
- ('C:\\Program Files (x86)\\Anki', 'Anki.exe')
- >>>
- >>> os.path.split('C:\\Program Files (x86)\\Anki\\') # 文件夹。尾有斜杠
- ('C:\\Program Files (x86)\\Anki', '')
- >>>
- >>> os.path.split('C:\\Program Files (x86)\\Anki') # 文件夹。尾无斜杠
- ('C:\\Program Files (x86)', 'Anki')
复制代码
在我看来,其实如果结尾不加反斜杠表示的是一个没有后缀名的文件(我是这样理解的,而且这样想的话,遇到的问题都能解释得通)。
还是按照文件名(也许没有后缀名)和路径分割的,这个原则并未出现特殊。所以“……如果完全使用目录,它也会将最后一个目录作为文件名分离……”这句话应该删掉。
再比如:
- >>> import os
- >>> os.path.dirname('H:\\I\\J\\K\\sample.txt')
- 'H:\\I\\J\\K'
- >>> os.path.dirname('H:\\I\\J\\K\\Sample_folder')
- 'H:\\I\\J\\K'
- >>> os.path.dirname('H:\\I\\J\\K\\Sample_folder\\')
- 'H:\\I\\J\\K\\Sample_folder'
复制代码- >>> import os
- >>> os.path.splitext('C:\\Program Files (x86)\\Anki\\Anki.exe')
- ('C:\\Program Files (x86)\\Anki\\Anki', '.exe')
- >>> os.path.splitext('C:\\Program Files (x86)\\Anki\\)
- SyntaxError: EOL while scanning string literal
- >>> os.path.splitext('C:\\Program Files (x86)\\Anki')
- ('C:\\Program Files (x86)\\Anki', '')
复制代码 |
评分
-
查看全部评分
|