<p>当我看到像这样的东西-这通常是因为路径中有反斜杠被转换。</p>
<p>例如-以下操作将失败-因为字符串中的\t被转换为制表符。</p>
<pre><code>>>> import ctypes
>>> ctypes.windll.LoadLibrary("c:\tools\depends\depends.dll")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "c:\tools\python271\lib\ctypes\__init__.py", line 431, in LoadLibrary
return self._dlltype(name)
File "c:\tools\python271\lib\ctypes\__init__.py", line 353, in __init__
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 126] The specified module could not be found
</code></pre>
<p>有3种解决方案(如果这是问题的话)</p>
<p>a)使用双斜杠。。。</p>
<pre><code>>>> import ctypes
>>> ctypes.windll.LoadLibrary("c:\\tools\\depends\\depends.dll")
</code></pre>
<p>b)使用正斜杠</p>
<pre><code>>>> import ctypes
>>> ctypes.windll.LoadLibrary("c:/tools/depends/depends.dll")
</code></pre>
<p>c)使用原始字符串(在字符串前面加上r</p>
<pre><code>>>> import ctypes
>>> ctypes.windll.LoadLibrary(r"c:\tools\depends\depends.dll")
</code></pre>
<p>虽然第三个可以工作,但我时常有一种印象,认为它不“正确”,因为原始字符串是用于正则表达式的。多年来,我一直在Python中使用它作为Windows上的路径,没有问题:))</p>