我是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")
答案 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")