除非我弄错了,否则下面的一行将获取目录的绝对路径,以便您可以访问文件
PATH = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0])))
当我需要在我编写的程序中使用图像等时,这就是我通常使用的访问我当前目录中的文件的方法。你知道吗
现在,假设我使用windows访问目录中的特定映像
image = PATH + "\\" + "some_image.gif"
这就是我的问题所在,它可以在windows上运行,但是如果我没记错的话"\\"
是windows的,它不能在其他操作系统上运行吗?我不能直接测试这个我自己,因为我没有其他操作系统,否则我不会费心张贴。据我所知,这在文档中没有提到。
如果真是这样的话,有办法解决吗?你知道吗
使用^{} 代替
"\\"
:该函数将智能地连接路径的不同部分。你知道吗
os.path.join将使用使用OS文件分隔符的os.sep智能地连接参数。你知道吗
是的,
'\\'
只适用于Windows。您可以使用os.sep
,在Windows上是'\\'
,在classic Mac上是':'
,在几乎所有其他的东西上是'/'
,或者任何适合当前平台的东西。你知道吗你可以通常使用
'/'
逃脱惩罚。除了Windows或Unix之外,没人可能会在任何东西上运行你的程序。在大多数情况下,Windows将接受'/'
路径名。但是有许多Windows命令行工具会把路径与标志混淆,如果它以/
开头,有些甚至在中间有一个/
,如果您使用的是\\.\
路径,/
被视为常规字符而不是分隔符,等等。所以你最好不要那样做。你知道吗简单的方法就是使用^{} :
顺便说一句,在您的第一行中,您已经在使用
join
,但是您不需要它:用这样一个参数调用
join
是完全合法的,但也完全没有用;你只需把一个东西连接起来,什么都没有;你会得到你所传递的东西。就这么做吧:最后一件事:如果您使用的是python3.4+,您可能需要考虑使用^{} 而不是
os.path
:相关问题 更多 >
编程相关推荐