擅长:python、mysql、java
<ol>
<li><p>是否确定日志文件已创建?我看不出这个名字是在哪里提到的-但也许它是默认创建的。</p></li>
<li><p><code>sudo</code>是否要求您输入密码?
这可以告诉你sudo是否真的在运行。</p></li>
<li><p><code>os.system</code>有点不推荐或者至少不受欢迎;最好使用<code>subprocess.call()</code>、<code>subprocess.check_call()</code>或{<cd5>}(给你一个可以用来进一步控制进程的对象)。</p></li>
</ol>
<hr/>
<p>编辑:刚刚测试过。在这里,扫描运行,但输出得到显示,而不是写入文件。可能您在<code>os.system()</code>调用中缺少<code>> nmapscan1.log</code>部分。在</p>
<p>使用<code>subprocess</code>,您可以编写</p>
<pre><code>sp = subprocess.Popen(['sudo', 'nmap', '-sC', '-sV', '-PN', '-O', '192.168.0.1/24'],
stdout=file("nmapscan1.log", "w"))
sp.wait()
f = open('nmapscan1.log', 'r')
print f.read()
f.close()
</code></pre>
<p>或者如果你不需要这个文件</p>
^{pr2}$