对于每个IP环路

时间:2015-05-06 09:01:57

标签: python

我是Python的新手,我正在尝试编写一个脚本来搜索网络范围,为每个IP映射网络驱动器,并在特定文件夹中搜索计算机上的特定文件。

我有IPrange部分工作,以及映射和搜索。问题是脚本想要一次性运行,这会导致问题,因为映射的驱动器仍在使用中。

我需要它能够运行整个脚本一次,然后转到下一个IP地址。任何帮助或建议将不胜感激。

import fnmatch
import os
from netaddr import *

IPSet(IPRange('192.168.25.47', '192.168.25.50'))

for ip in IPSet(IPRange('192.168.25.47', '192.168.25.50')):
    os.system(r'net use z: \\%s\c$' % ip)
for file in os.listdir('z:\Windows\system32'):
    if fnmatch.fnmatch(file, 'bob.exe'):
        print (ip, file)
os.system(r"net use Z: /delete /Y")

1 个答案:

答案 0 :(得分:4)

缩进在Python中很重要。您需要缩进部分代码,使其在最外层for循环的每次迭代中运行一次,而不是在它完成后运行:

import fnmatch
import os
from netaddr import *
for ip in IPSet(IPRange('192.168.25.47', '192.168.25.50')):
    os.system(r'net use z: \\%s\c$' % ip)
    for file in os.listdir(r'z:\Windows\system32'):
        if fnmatch.fnmatch(file, 'bob.exe'):
            print (ip, file)
    os.system(r"net use Z: /delete /Y")