os.path.abspath无法识别用户输入路径

时间:2019-03-14 14:45:49

标签: python path operating-system

我正在编写一个脚本,在该脚本中,我希望用户输入一个文件路径,然后该文件的其余部分将对该文件路径进行解析,以作为了解要处理哪个文件的方式。

为简洁起见,这是我有问题的代码的开头:

### import modules
import pyabf

#### open file and extract basic data 
file_path = input('file path?')
abf = pyabf.ABF(file_path)
data = abf.data

如果我以这种形式运行脚本,则会出现以下错误:

init 中的文件“ /Users/XXX/anaconda3/envs/blah_blah/lib/python3.6/site-packages/pyabf/abf.py”,第65行     引发ValueError(“ ABF文件不存在:%s”%self.abfFilePath) ValueError:ABF文件不存在

这是给我这个错误的脚本部分:

# clean-up file paths and filenames, then open the file
    self.abfFilePath = os.path.abspath(abfFilePath)
    if not os.path.exists(self.abfFilePath):
        raise ValueError("ABF file does not exist: %s" % self.abfFilePath)
    self.abfID = os.path.splitext(os.path.basename(self.abfFilePath))[0]
    log.debug(self.__repr__())

如果我在控制台中分别运行代码行,则一切正常:

abf = pyabf.ABF(file_path)  # same path as before works to open the file 
data = abf.data # then manages to extract the correct numpy array. 

将路径作为用户输入输入而不是直接输入使用该参数的路径时,会发生什么情况?我尝试使用带有或不带有''或()的不同方式键入路径,但是我无法使pyabf.ABF脚本识别该路径。

我看了一下os.path信息,据我所了解的os.path.abspath(abfFilePath)行,此行现在正在调试,应该只返回一个绝对路径名。我敢肯定,这可能只是我不了解的简单明了。

希望这里有人可以提供帮助。

谢谢!

0 个答案:

没有答案