我试图在python3.4.1中创建一个简单的打印机删除脚本。可能有更简单的方法可以做到这一点,但这就是我所拥有的:我正在使用来自itertools
的产品,从目录中的两个文本文件获取输入—一个是服务器列表,一个是打印机列表。你知道吗
我现在的代码是:
import webbrowser
from itertools import product
with open('servers.txt') as infile:
servers = infile.readlines()
with open('PRINTERS_toDelete.txt') as infile:
queues = infile.readlines()
strTemp1 = 'cscript c:\\windows\\system32\\prnmngr.vbs -d -p %s -s %s \n'
with open('RUN_THIS.txt', 'w') as outfile:
outfile.writelines(strTemp1 % (queue,server) for queue,server in product(queues,servers))
webbrowser.open('RUN_THIS.txt')
输出文件与我需要的非常接近,但如下所示:
cscript c:\windows\system32\prnmngr.vbs -d -p queue1
-s server1
cscript c:\windows\system32\prnmngr.vbs -d -p queue1
-s server2
cscript c:\windows\system32\prnmngr.vbs -d -p queue1
-s server3
cscript c:\windows\system32\prnmngr.vbs -d -p queue2
-s server1
cscript c:\windows\system32\prnmngr.vbs -d -p queue2
-s server2
cscript c:\windows\system32\prnmngr.vbs -d -p queue2
-s server3
cscript c:\windows\system32\prnmngr.vbs -d -p queue3
-s server1
cscript c:\windows\system32\prnmngr.vbs -d -p queue3
-s server2
cscript c:\windows\system32\prnmngr.vbs -d -p queue3
-s server3
cscript c:\windows\system32\prnmngr.vbs -d -p iHatePrinters -s server1
cscript c:\windows\system32\prnmngr.vbs -d -p iHatePrinters -s server2
cscript c:\windows\system32\prnmngr.vbs -d -p iHatePrinters -s server3
应该是这样的:
cscript c:\windows\system32\prnmngr.vbs -d -p queue1 -s server1
cscript c:\windows\system32\prnmngr.vbs -d -p queue1 -s server2
cscript c:\windows\system32\prnmngr.vbs -d -p queue1 -s server3
cscript c:\windows\system32\prnmngr.vbs -d -p queue2 -s server1
cscript c:\windows\system32\prnmngr.vbs -d -p queue2 -s server2
cscript c:\windows\system32\prnmngr.vbs -d -p queue2 -s server3
cscript c:\windows\system32\prnmngr.vbs -d -p queue3 -s server1
cscript c:\windows\system32\prnmngr.vbs -d -p queue3 -s server2
cscript c:\windows\system32\prnmngr.vbs -d -p queue3 -s server3
cscript c:\windows\system32\prnmngr.vbs -d -p iHatePrinters -s server1
cscript c:\windows\system32\prnmngr.vbs -d -p iHatePrinters -s server2
cscript c:\windows\system32\prnmngr.vbs -d -p iHatePrinters -s server3
基本上,在队列和服务器条目之间有一个不需要的换行符。另外,最后一个条目看起来很好(或者至少比前一个更好),所以我认为这与它在每个输入文件中解释硬返回的方式有关。对于不同服务器上的同一个队列,使用不带空格的附加格式以及队列之间的额外换行符是理想的,但不是必需的。你知道吗
我试过用空格键,但运气不好,有什么想法吗?你知道吗
发生这种情况的原因是readlines方法保留您正在读取的文件的每一行的最后一行。 试试这个。你知道吗
我会这么做:
你试过这样的东西吗?你知道吗
相关问题 更多 >
编程相关推荐