我是Python的新手,所以我可能会完全错误,但是我在获取和更改文件目录时遇到了问题.我的脚本包含多个文件名,可以在任何目录中.在我的脚本中,我需要python更改到文件的目录,然后执行一些操作.但是,我在更改目录时遇到问题.
这是我到目前为止所尝试的:
path=os.path.split(<file path>)
os.chdir(path[0])
<Do things to file specified by path[1]>
Run Code Online (Sandbox Code Playgroud)
我获取文件路径的方法是从资源管理器拖动到命令行.这会输入路径名称"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')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8150 次 |
| 最近记录: |