这是我的问题:
fpaths=os.listdir(ligand_names_list[0].replace("'", "\\'"))
OSError: [Errno 2] No such file or directory: "5-iodoindirubin-3\\'-oxime"
有一个名为5-iodoindirubin-3'-oxime
的文件,但我无法让os.listdir()
找到它。这是我用这个帖子Adding backslashes without escaping [Python]启发的另一个尝试:
fpaths=os.listdir(ligand_names_list[0].__ repr __())
OSError: [Errno 2] No such file or directory: '"5-iodoindirubin-3\'-oxime"'
在这种情况下的问题是领先的单引号,我不知道如何删除它们。有什么想法吗?
答案 0 :(得分:6)
你不必逃避任何事情;在代码中输入字符串文字时,你只需要转义。一旦字符串具有正确的值,就可以按原样使用它。
该文件是在当前目录中还是在其他目录中? (当前目录与Python脚本所在的目录相同,除非您已更改它。)如果它不在当前目录中,则可以解释为什么它没有被找到。
(你说这是一个文件;我希望它是一个目录,因为你在它上面调用os.listdir()
...)