没有预期输出的Python字符串替换

时间:2020-04-30 14:28:00

标签: python python-3.x

我正在尝试使用FunkyPenguin的RadarrSync脚本,但是在替换某些字符串时遇到了麻烦 我试图注销它,所以我可以看到发生了什么事:

            path = movie['path']
            path_fr = ConfigSectionMap(server)['path_from']
            path_to = ConfigSectionMap(server)['path_to'] 
            logging.debug('path {0}'.format(path))
            logging.debug('pathto {0}'.format(path_to))
            logging.debug('pathfrom {0}'.format(path_fr))
            path2 = path.replace(path-fr, path_to)
            logging.debug('path2 {0}'.format(path2))

给我这个结果:

2020-04-30 16:19:35,409 [MainThread  ] [DEBUG]  path /mnt/unionfs/Plex/Film/Film/The Big Lebowski (1998)
2020-04-30 16:19:35,409 [MainThread  ] [DEBUG]  pathto '/mnt/unionfs/4K/'
2020-04-30 16:19:35,409 [MainThread  ] [DEBUG]  pathfrom '/mnt/unionfs/Plex/Film/Film/'
2020-04-30 16:19:35,409 [MainThread  ] [DEBUG]  path2 /mnt/unionfs/Plex/Film/Film/The Big Lebowski (1998)

我不明白为什么path2变量仍然显示路径。

1 个答案:

答案 0 :(得分:3)

path_fr和path_to都包含带引号的字符串。因此path_fr不是路径的一部分。

path_fr = "'/mnt/unionfs/Plex/Film/Film/'"

比较以下内容的输出

print("'/mnt/unionfs/Plex/Film/Film/'")
print('/mnt/unionfs/Plex/Film/Film/')