Hello
内容不全,遇到想写的就写写
os库
import os
os.path.abspath()和os.path.join()
os.path.abspath() 绝对路径
如果给的是一个路径,则会把其转换成绝对路径的格式。如果提供的不是路径,则会与程序保存在的本地路径拼接
os.path.join() 路径拼接
例1:
split_dir = os.path.abspath("D:/pytorch_lesson/Pytorch-Camp-master/hello pytorch/lesson/lesson-15/data/rmb_split")
print('split_dir:', split_dir)
split_dir: D:\pytorch_lesson\Pytorch-Camp-master\hello pytorch\lesson\lesson-15\data\rmb_split
例2
split_dir = os.path.abspath(os.path.join("data", "rmb_split"))
print(split_dir)
只提供拼接字段时,会将其拼接到程序本地地址的后面
split_dir: D:\pytorch_lesson\Pytorch-Camp-master\hello pytorch\lesson\lesson-15\data\rmb_split
本地地址:D:\pytorch_lesson\Pytorch-Camp-master\hello pytorch\lesson\lesson-15
拼接字段:data\rmb_split
例3:
split_dir = os.path.abspath(os.path.join("..", "..", "data", "rmb_split"))
print('split_dir:', split_dir)
os.path.join()中的"…",用来省略拼接路径的末尾字段,一个"…"省略一个路径字段
执行结果:split_dir: D:\pytorch_lesson\Pytorch-Camp-master\hello pytorch\data\rmb_split
原始程序存放路径:D:\pytorch_lesson\Pytorch-Camp-master\hello pytorch\lesson\lesson-15
省略了lesson\lesson-15字段,拼接上了data\rmb_split
一开始感觉这种写法有点炫技的感觉,直接把存放路径放上不就好了,后来一想发现。
这样即使别人拿到你的代码包和数据,不论存放在哪里,都能顺利的执行。不用再修改读取数据的地址。