gpt4 book ai didi

python - 格式化文件路径

转载 作者:太空狗 更新时间:2023-10-29 22:23:43 25 4
gpt4 key购买 nike

我是 Python 的新手,所以我可能会完全错误地解决这个问题,但我在获取和更改文件目录时遇到了问题。我的脚本接受可以在任何目录中的多个文件名。在我的脚本中,我需要 python 更改到文件的目录,然后执行一些操作。但是,我在更改目录时遇到问题。

到目前为止,这是我尝试过的:

path=os.path.split(<file path>)
os.chdir(path[0])
<Do things to file specified by path[1]>

我获取文件路径的方法是从资源管理器拖动到命令行。这会输入类似于 "C:\foo\bar\file_name.txt" 的路径名称。当我在解释器中运行第一行时,我得到了 ('C:\\foo\bar','file_name.txt')。问题是由于某种原因,最后一个反斜杠没有自动转义,所以当我运行 os.chdir(path[0]) 行时,我得到了错误。

我的问题是为什么最后一个反斜杠不像其他反斜杠那样自动转义?如何手动转义最后一个反斜杠?有没有更好的方法来获取文件的目录并更改到它?

最佳答案

最后一个反斜杠不会自动转义,因为 Python 只会在后面的字符不与反斜杠形成转义序列时转义常规字符串中的反斜杠。事实上,在你的例子中,你不会从 'C:\foo\bar' 得到 'C:\\foo\bar',你会得到 'C:\x0coo\x08ar'

您想要做的是用正斜杠替换反斜杠,或者使拖放操作更简单,只需在路径前加上 r 以便它是原始字符串并且不会'识别转义序列。

>>> os.path.split(r"C:\foo\bar\file_name.txt")
('C:\\foo\\bar','file_name.txt')

关于python - 格式化文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6652498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com