您如何使用“";os.path.isfile()”;用一套;路径“;但是python 2.7中的变量文件名?

您如何使用“";os.path.isfile()”;用一套;路径“;但是python 2.7中的变量文件名?,python,python-2.7,path,syntax-error,os.path,Python,Python 2.7,Path,Syntax Error,Os.path,作为一个更大项目的一部分,我正在开发一个计算器程序,当我最终认为我已经完成时,我测试了定义的“退出”命令。然而,它失败了,经过一些研究,我来到这里。我需要知道的是如何使(path)参数有一个设置的预定义路径,但也有一个用于实际文件名的变量。例如:/HDD/APPS/(在此处插入变量) 这是错误和发生错误的行: File "../../C.py", line 19 if ( not os.path.isfile('/HDD/APPS/'exe)):

作为一个更大项目的一部分,我正在开发一个计算器程序,当我最终认为我已经完成时,我测试了定义的“退出”命令。然而,它失败了,经过一些研究,我来到这里。我需要知道的是如何使(path)参数有一个设置的预定义路径,但也有一个用于实际文件名的变量。例如:/HDD/APPS/(在此处插入变量)

这是错误和发生错误的行:

   File "../../C.py", line 19
        if ( not os.path.isfile('/HDD/APPS/'exe)):
                                              ^
    SyntaxError: invalid syntax

连接两个字符串:

>>> exe = 'exefile'
>>> '/HDD/APPS/' + exe
'/HDD/APPS/exefile'
更优选地,使用:


if(不是os.path.isfile('/HDD/APPS/'+str(exe)):
谢谢你,普里扬克。这正是我想要的。好的,太好了。。。现在出现了一个新的错误。我想这一次我会发布所有适用的代码,让你们自己去弄清楚。这里是:回溯(最近一次调用):文件“/home/endergreen/PyOS/SHOE/C.py”,第54行,在执行()文件“/home/endergreen/PyOS/SHOE/C.py”的第24行,在执行执行文件(“/../../C.py”)的IOError:[Errno 2]没有这样的文件或目录:“/../../C.py”哇!我想出来了。os.path.isfile()使用符号链接,而不是相对链接,因此在本例中,我无法使用“../”来访问目录。为什么在本例中使用os.path.join更可取?如果不这样做,是否会导致意外行为?@TechDude,os.path.join负责分隔符(/)。操作系统有不同的分隔符。在这种情况下,省略最后一个目录的尾部斜杠也是正确的吗?像这样:
os.path.join('/HDD/APPS',exe)
事实上,是否应该省略最终目录的尾部斜杠,以确保该操作系统使用正确的分隔符?@TechDude,os.path.join正确处理尾部分隔符。@TechDude,我的意思是
os.path.join('HDD',APPS',test.exe')
>>> import os
>>> os.path.join('/HDD/APPS/', exe)
'/HDD/APPS/exefile'