Windows 中的 python 使用子进程到 运行 HTTrack

Using subprocess to run HTTrack from python in Windows

我正在编写网络抓取 python 脚本,我希望它能够做的一件事是让它拍摄某些页面的快照(所有html、样式表和正确离线查看该特定页面所必需的图像)。似乎 HTTrack 是一个很好的方法,我想我可以使用

从 python 脚本中调用它
subprocess.call(["httrack", "http://www.example.com", "-O", "\tmp\example"])

但尝试这样做会导致 "FileNotFoundError: [WinError 2] The system cannot find the file specified"。我也试过给它完整的文件路径,

subprocess.call(["C:\Program Files\WinHTTrack\httrack.exe", "http://www.example.com", "-O", "\tmp\Example"])

但我收到错误 "SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape"

我认为这是我没有正确理解 subprocess 的问题,因为我可以通过 windows 命令提示符让 HTTrack 工作。任何人都可以帮助我了解使用子流程的正确方法吗?

已解决,感谢 eryksun 的评论。 subprocess 语法根本不是问题,而是我没有小心转义我所有的反斜杠。将 r 拉到这些字符串前面,使它们成为原始字符串,我的代码就很好地修复了。