【问题标题】:Absolute path in pythonpython中的绝对路径
【发布时间】:2014-09-14 06:05:13
【问题描述】:

我正在用 PyDev 在 Eclipse 中编写一个 python 项目。 我面临一个问题。 这里是项目建设

在break_cipher包的一个文件中,我得到了“english_quadgrams.txt”的绝对路径

def __init__(self,filename="./dic/english_quadgrams.txt"):
    self.filename = os.path.abspath(filename)
    #self.filename = filename
    print "self:", self.filename
    self.dic,self.floor = generate_dic(self.filename)

问题是当我导入项目以在命令行中使用时,它获得了错误的 abs 目录。 目录应该是“C:\Users\windy_000\workspace\cipher\dic\english_quadgrams.txt”,但是 错误显示“C:\Users\windy_000\workspace\dic\english_quadgrams.txt”。 我是不是做错了什么?

【问题讨论】:

    标签: python path pydev absolute-path


    【解决方案1】:

    相对路径是相对于当前工作目录 (os.getcwd()),而不是相对于模块/包文件路径。

    如果您希望路径与模块/包相关,请使用__file__

    def __init__(self, filename="./dic/english_quadgrams.txt"):
        self.filename = os.path.join(os.path.dirname(os.path.abspath(__file__)), filename)
        ....
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-05
      • 2011-06-15
      • 2011-02-05
      相关资源
      最近更新 更多