擅长:python、mysql、java
<p>如果您非常希望获得c的<code>atoi</code>功能,为什么不直接使用它呢?E、 g.在我的Mac上</p>
<pre><code>>>> import ctypes, ctypes.util
>>> whereislib = ctypes.util.find_library('c')
>>> whereislib
'/usr/lib/libc.dylib'
>>> clib = ctypes.cdll.LoadLibrary(whereislib)
>>> clib.atoi('-99foobar')
-99
</code></pre>
<p>在Linux、Windows等操作系统中,相同的代码应该可以工作,但是如果您检查<code>whereislib</code>,您将看到不同的路径(只有在真正的、非常特殊的安装中,如果此代码找不到C运行时库)。</p>
<p>如果你想避免直接使用C库,我想你可以获取相关的前缀,例如使用re,比如<code>r'\s*([+-]?\d+)'</code>,然后尝试<code>int</code>。</p>