Python:os.join.path()

标签 python string

我使用 os.join.path() 将图像加载到文件夹中。但我发现该函数在某些情况下用于定义另一个函数时无法给出准确的路径。例如:

def Myfuncion(something)
    desiredPath = os.path.join('myPath','apple.jpeg')
    #desiredPath = os.path.normpath(os.path.join('myPath','apple.jpeg')) 

    print desiredPath
    return

当我实现该功能时,路径的打印结果是:

 myPath\apple.jpeg

图片加载非法。但 os.path.join() 在 Pythonconsole 中运行良好。

如何使此类函数定义中生成的路径带有双反斜杠?

此外,值得注意的是 os.path.normpath 有时也无法正常工作。例如:

 os.path.normpath('myPath\apple')

它应该给出结果:

 myPath\\apple

但相反,它会导致:

 'myPath\x07pple'

怎么会呢?

最佳答案

\a 相当于 \x07。 (请参阅 String and bytes literals 中的转义序列部分。)

>>> '\a'
'\x07'

您需要转义 \ 以字面意思表示反斜杠:

>>> '\\a'
'\\a'
>>> print('\\a')
\a

或者,使用原始字符串文字:

>>> r'\a'
'\\a'
>>> print(r'\a')
\a

关于Python:os.join.path(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40570619/

相关文章:

python - 如何更改 Squish 中 waitForObject 函数使用的默认超时

java - 将 var^power 替换为 pow(var,power)

string - 在 Groovy 中将整数转换为字符串的理想方法是什么

python - 没有正确迭代文本文件的行

python - read_csv 读取\,作为分隔符

python - 在 Ubuntu 上使用 Flask 运行 uwsgi 时出错

java - 带枚举的扫描仪,Java

Java String TRIM 函数不起作用

string - 如何在 Swift 中将字符串转换为 UInt32

python - 如何在Python中优化打印帕斯卡三角形?