我正试图编写一个脚本,自动打开一系列包含数据系列的csv,并将它们保存到一个数据帧中,但我在打开名称中包含整数的路径时遇到了问题,即
abspath = os.path.abspath("....BlogWpisy7_Bitcoin")
print(abspath)
退货:
C:BlogWpisy_Bitcoin
而不是:C: \博客\Wpisy\7\Bitcoin
当文件名中有一个整数时,同样适用
正如我在评论中提到的,整数不是问题所在,而是反斜杠,因为反斜杠是转义符。
有几个选项供您选择:
选项1:
在字符串前面加上"原始字符串"的r
。
abspath = os.path.abspath(r"....BlogWpisy7_Bitcoin")
选项2:
使用正斜杠(建议用于可移植性(。
abspath = os.path.abspath("../../Blog/Wpis/7_Bitcoin")
选项3:
用另一个反斜杠转义反斜杠。
abspath = os.path.abspath("..\..\Blog\Wpisy\7_Bitcoin")
您应该使用原始字符串来避免被解释为转义序列,或者使用
/
进行路径组装(请参阅pathlib模块,以便在windows和posix路径之间轻松转换(
- 对于原始字符串:使用
r"....BlogWpisy7_Bitcoin"
您可以使用sys.path.join
:
abspath = os.path.abspath(os.path.join("..", "..", "Blog", "Wpisy", "7_Bitcoin"))
print(abspath)
它会自动在你的路径上添加斜线。