Python 路径作为字符串

Slo*_*lot 12 python path

我使用这个模块:https : //github.com/jaraco/path.py

我有一个需要字符串的函数。我没有找到任何可以将总路径作为字符串提供给我的函数。

from path import *
import paramiko

if __name__ == "__main__":
    hostname = 'localhost'
    username = '**'
    password = '**'
    port = 22

    transport = paramiko.Transport((hostname, port))
    transport.connect(username = username, password = password)
    sftp = paramiko.SFTPClient.from_transport(transport)

    path = path('~/folder/')
    filename = path.joinpath('foo')
    f = sftp.open(filename, 'r') #open needs a string
Run Code Online (Sandbox Code Playgroud)

你有想法吗 ?

先感谢您

mun*_*unk 15

filename有一个名为 abspath 的方法,它返回一个带有绝对路径的对象。您可以将其转换为字符串。

...
folder_path = path('~/folder/')
filename = path.joinpath('foo')
f = sftp.open(str(filename), 'r')
Run Code Online (Sandbox Code Playgroud)

  • 但是示例中没有使用*abspath*(?)。 (11认同)
  • 调用 str() 对我来说似乎很奇怪,我可能期望像 repr() 会产生的结果。我本来期望有一个 as_string 属性或其他东西。 (6认同)

J'e*_*J'e 6

蟒蛇3

from pathlib import Path

path = Path('~/folder/foo')
absolute_path = path.absolute().as_posix()
Run Code Online (Sandbox Code Playgroud)

蟒蛇2

import os

absolute_path = os.path.abspath('~/folder/foo').as_posix()
Run Code Online (Sandbox Code Playgroud)