我创建了一个读取VPN输出的程序,它返回未加密的加密映射,但我在以下方面有顾虑:
(1)可以减少这个数组:
h.write(all_vpns[n-5]+all_vpns[n-4]+all_vpns[n-3]+all_vpns[n-2]+all_vpns[n-1]+all_vpns[n]+all_vpns[n+1]+"\n\n")类似这样的东西
all_vpns[n-5]:all_vpns[n+1] or all_vpns[n-5]-all_vpns[n+1](2)有一个我用来从文件中删除所有行的函数,当if语句中只有一个规则时,它工作得很好,但当我添加2时,它不起作用:
with open(in_filename) as infile, open("clean_vpn.txt", "w") as outfile:
for line in infile.readlines():
if line!='\n':
outfile.write(line)如果在If中添加另一个参数,则不起作用
if line!='\n' or line!=' \n':有没有人知道为什么or不起作用,但正如我前面提到的,如果我只有一个参数,那么它对那个语句很有效,但不能同时使用or。
发布于 2017-09-19 12:02:12
(1)你可以这样写得更少:
h.write(''.join(all_vpns[n-5:n+2])+'\n\n')(2) if line!='\n' or line!=' \n'中的if将始终计算为True。因为or。让我们检查一下line的一些值
line为\n,则第一个条件失败,但第二个条件成功。line为' \n',则第一个条件成功。line为其他值,则两个条件都成功。所以,如果你放置or,它就像没有任何条件。我认为你应该使用and而不是or。
https://stackoverflow.com/questions/46291327
复制相似问题