鱼C论坛

 找回密码
 立即注册
查看: 1537|回复: 5

[已解决]请问下目录路径的问题

[复制链接]
发表于 2018-3-30 15:24:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
代码如下:


  1. import os
  2. def test1():
  3.     test_path = os.path.dirname(os.path.abspath(__file__))
  4.     test1_path = os.path.dirname(os.path.abspath(__file__)) + '\..'
  5.     a_path = os.path.abspath(test_path + '\drivers\chromedriver.exe')
  6.     b_path = os.path.abspath(test1_path + '\drivers\chromedriver.exe')
  7.     print('a_path: %s' % a_path)
  8.     print('b_path: %s' % b_path)
  9. test1()
复制代码



输出结果:
a_path: E:\学习\SynPython\Test_framework_obt\other\drivers\chromedriver.exe
b_path: E:\学习\SynPython\Test_framework_obt\drivers\chromedriver.exe

test1_path后面的'\..'是什么意思,为什么两者路径不一致
最佳答案
2018-3-30 15:46:37
四君子 发表于 2018-3-30 15:39
意识就是这个test_path真实路径是E:\学习\SynPython\Test_framework_obt\,只是显示出来是E:\学习\SynPyt ...
  1. import os
  2. def test1():
  3.     test_path = os.path.dirname(os.path.abspath(__file__))
  4.     test1_path = os.path.dirname(os.path.abspath(__file__)) + '\..'
  5.     a_path = os.path.abspath(test_path + '\drivers\chromedriver.exe')
  6.     b_path = os.path.abspath(test1_path + '\drivers\chromedriver.exe')
  7.     print(test_path)
  8.     print('a_path: %s' % a_path)
  9.     print(test1_path)
  10.     print('b_path: %s' % b_path)
  11. test1()
复制代码

多加了两句print你可能理解起来容易一些,我本人没用过这个os模块的这个方法

另外查了一下os.path模块说明如下:
FUNCTIONS
    abspath(path)
        Return the absolute version of a path.     这里应该就是把\..之前的一级删掉吧,同时也删掉\..
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-30 15:29:56 | 显示全部楼层
'\..'指上一级目录,见小甲鱼的扩展阅读

http://bbs.fishc.com/thread-45512-1-1.html
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-30 15:37:48 | 显示全部楼层
.. 是返回上级目录
\ 这是 如: E:\学习\SynPython  + '\'   后  E:\学习\SynPython\
E:\学习\SynPython + '\..' ==   E:\学习\SynPython\..   返回上级目录
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-30 15:39:51 | 显示全部楼层
大头目 发表于 2018-3-30 15:29
'\..'指上一级目录,见小甲鱼的扩展阅读

http://bbs.fishc.com/thread-45512-1-1.html

意识就是这个test_path真实路径是E:\学习\SynPython\Test_framework_obt\,只是显示出来是E:\学习\SynPython\Test_framework_obt\other\..
是这样理解么
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-30 15:46:37 | 显示全部楼层    本楼为最佳答案   
四君子 发表于 2018-3-30 15:39
意识就是这个test_path真实路径是E:\学习\SynPython\Test_framework_obt\,只是显示出来是E:\学习\SynPyt ...
  1. import os
  2. def test1():
  3.     test_path = os.path.dirname(os.path.abspath(__file__))
  4.     test1_path = os.path.dirname(os.path.abspath(__file__)) + '\..'
  5.     a_path = os.path.abspath(test_path + '\drivers\chromedriver.exe')
  6.     b_path = os.path.abspath(test1_path + '\drivers\chromedriver.exe')
  7.     print(test_path)
  8.     print('a_path: %s' % a_path)
  9.     print(test1_path)
  10.     print('b_path: %s' % b_path)
  11. test1()
复制代码

多加了两句print你可能理解起来容易一些,我本人没用过这个os模块的这个方法

另外查了一下os.path模块说明如下:
FUNCTIONS
    abspath(path)
        Return the absolute version of a path.     这里应该就是把\..之前的一级删掉吧,同时也删掉\..
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-31 19:53:02 From FishC Mobile | 显示全部楼层
大头目 发表于 2018-3-30 15:46
多加了两句print你可能理解起来容易一些,我本人没用过这个os模块的这个方法

另外查了一下os.path模 ...

好的,谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-9 23:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表