os.path.join 用法

写在前面:看你们阅读量这么大,也应该在放点干货来了~~

获取层级路径,直到能够获取文件夹下面的文件,多一个判断就好了:

level1_list = [os.path.join(base_path, f) for f in listdir(base_path) if os.path.isdir(os.path.join(base_path, f))]spa

结合路径:code

原来的目录层级:c:/a/b/c/test.pyblog

print os.path.abspath("%s" % __file__)ip

==> c:/a/b/c/test.pyit

print os.path.abspath("%s/../../" % __file__) #绝对路径,相比下个路径实现方式须要多跳出一次,坑。。。,不建议用class

==> c:/a/btest

print '-----'

file_path = os.path.split(os.path.realpath(__file__))[0] #建议使用
print file_path
==> c:/a/b/c/

print os.path.abspath("%s/../" % __file__)
import

此处跳到:c:/a/b/c file




kaggle-word2vec-ipynb >>> import os >>> datafile = os.path.join('/kaggle-word2vec-ipynb','/data/', 'labeledTrainData.tsv') >>> print datafile /data/labeledTrainData.tsv >>> datafile = os.path.join('kaggle-word2vec-ipynb','/data/', 'labeledTrainData.tsv') >>> print datafile /data/labeledTrainData.tsv #想要的路径 >>> datafile = os.path.join('./kaggle-word2vec-ipynb/','data/', 'labeledTrainData.tsv') >>> print datafile ./kaggle-word2vec-ipynb/data/labeledTrainData.tsv #"/"出如今第一个,因此能够追踪合并到第一个 >>> datafile = os.path.join('/kaggle-word2vec-ipynb/','data/', 'labeledTrainData.tsv') >>> print datafile /kaggle-word2vec-ipynb/data/labeledTrainData.tsv
#"/"出如今第二个,因此从第二个开始,如下类推
>>> datafile = os.path.join('/kaggle-word2vec-ipynb','/data', 'labeledTrainData.tsv') >>> print datafile /data/labeledTrainData.tsv >>> datafile = os.path.join('/kaggle-word2vec-ipynb','/data', '/labeledTrainData.tsv') >>> print datafile /labeledTrainData.tsv >>> datafile = os.path.join('/kaggle-word2vec-ipynb','./data', '/labeledTrainData.tsv') >>> print datafile /labeledTrainData.tsv >>> datafile = os.path.join('/kaggle-word2vec-ipynb','data/', '/labeledTrainData.tsv') >>> print datafile /labeledTrainData.tsv >>> datafile = os.path.join('kaggle-word2vec-ipynb','data', 'labeledTrainData.tsv') >>> print datafile kaggle-word2vec-ipynb/data/labeledTrainData.tsv #想要的路径 自动添加'/' >>> datafile = os.path.join('.','kaggle-word2vec-ipynb','data', 'labeledTrainData.tsv') >>> print datafile ./kaggle-word2vec-ipynb/data/labeledTrainData.tsv

总结:因此要么不加 './' 或者"/",要么中间的路径不能出现'/'开头,合并路径感受是检查了根目录'/'的位置.im

仍是让自动加上'/'就行

相关文章
相关标签/搜索