小编MHi*_*bin的帖子

使用RegEx匹配Python中的IP地址

我正在尝试进行测试以检查sys.argv输入是否与RegEx的IP地址匹配...

作为一个简单的测试,我有以下......

import re

pat = re.compile("\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}")
test = pat.match(hostIP)
if test:
   print "Acceptable ip address"
else:
   print "Unacceptable ip address"
Run Code Online (Sandbox Code Playgroud)

但是,当我将随机值传递给它时,在大多数情况下会返回"可接受的IP地址",除非我有一个基本等同于的"地址" \d+.

python regex

17
推荐指数
4
解决办法
8万
查看次数

Python:异常后继续循环

我有以下脚本(下面).这将返回URL的状态代码.它遍历文件并尝试连接到每个主机.唯一的问题是它在到达异常时显然会停止循环.

我已经尝试了很多东西来把它如何循环,但无济于事.有什么想法吗?

import urllib
import sys
import time

hostsFile = "webHosts.txt"


try:
    f = file(hostsFile)
    while True:
        line = f.readline().strip()
        epoch = time.time()
        epoch = str(epoch)
        if len(line) == 0:
            break
        conn = urllib.urlopen(line)
        print epoch + ": Connection successful, status code for " + line + " is " + str(conn.code) + "\n"
except IOError:
    epoch = time.time()
    epoch = str(epoch)
    print epoch + ": Connection unsuccessful, unable to connect to server, potential routing issues\n"
    sys.exit()
else:
    f.close()
Run Code Online (Sandbox Code Playgroud)

编辑: …

python loops exception

10
推荐指数
1
解决办法
2万
查看次数

Python:使用带有argparse的getpass

我环顾四周,但找不到任何东西.

基本上我想知道是否可以使用getpass.getpass()argparse.

目前我有以下作为解决方法,我只是想知道是否有更好的方法:

import argparse
import getpass

parser = argparse.ArgumentParser(description="Some description")
parser.add_argument('-p', metavar="password", default="foobarblah123", help="password for user (default to prompt user)")
...
parsed_args = parser.parse_args()
args = vars(parsed_args)
user_pass = args['p']
if user_pass == "foobarblah123":
  user_pass = getpass.getpass()
Run Code Online (Sandbox Code Playgroud)

我很确定这不是处理此问题的最佳方法,但是,需要为密码设置命令行选项...最佳实践与否.

谢谢.

python passwords arguments prompt

10
推荐指数
3
解决办法
8698
查看次数

urllib2.urlopen():获取内容的大小

每当工作允许时,我仍然沿着python工作......

我正在使用使用的脚本查询大量内部webUI urllib2.urlopen.我想知道如何从每个请求中获取页面内容的大小.我似乎无法想出这个.

提前致谢,

MHibbin

python urllib2

9
推荐指数
1
解决办法
9036
查看次数

Python:将分割值分配给多个变量

我目前正在编写一个Python脚本来处理一些日志并重新格式化某些部分.部分脚本使用以下代码(作为示例):

var1,var2,var3=foo.split("|")
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.然而,如果有39个值,这可能看起来不那么好(取消Python的可读性因子),例如:

var1,var2,var3,...,var39=foo.split("|")
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法来格式化这种结构?

谢谢

python arrays variable-assignment

6
推荐指数
2
解决办法
2万
查看次数

Python:检查csv中的一个元素,使用另一个元素从第二个文件中删除

我试图让脚本工作,它将在查找csv文件中检查IP的存在,然后如果它存在,则取第三个元素并从另一个(第二个)文件中删除第三个元素.这是我所拥有的摘录:

for line in fileinput.input(hostsURLFileLoc,inplace =1):
        elements = open(hostsLookFileLoc, 'r').read().split(".").split("\n")
        first = elements[0].strip()
        third = elements[2].strip()
        if first == hostIP:
                if line != third:
                        print line.strip()
Run Code Online (Sandbox Code Playgroud)

这显然不起作用,我尝试过玩几个选项,但这是我最近的(疯狂)尝试.

我认为问题是有两个输入文件一次打开.

欢迎任何想法,

干杯

python lookup element

0
推荐指数
1
解决办法
903
查看次数

Python:在一个简单的行中分配多个系统参数

我试图找到答案,但似乎没有什么适合这个问题......

我想在一个简单的行中sys.argv为一个变量分配一个简单的行,而不是执行以下操作:

var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]
var4 = sys.argv[4]
var5 = sys.argv[5]
var6 = sys.argv[6]
etc...
Run Code Online (Sandbox Code Playgroud)

这可能吗?

干杯,

MHibbin

python arguments variable-assignment

0
推荐指数
1
解决办法
1795
查看次数

Python语法错误......不确定原因

我之前使用过如下语句,但是当我尝试使用类似的东西时,它会返回错误....

  File "test.py", line 73
    with open(hostsTxt, 'a+') as f1, open(hostsCSV,'a+') as f2, open(hostNameLook, 'a+') as f3, open(webHostsTxt,'a+') as f4:
            ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

上面一行的语法:

if hostName != "*" and hostIP != "*":
  with open(hostsTxt, 'a+') as f1, open(hostsCSV,'a+') as f2, open(hostNameLook, 'a+') as f3, open(webHostsTxt,'a+') as f4:
Run Code Online (Sandbox Code Playgroud)

任何想法都会受到欢迎.

python syntax

0
推荐指数
1
解决办法
633
查看次数