Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果没有错误,python程序将不会执行_Python_Execution_Fault_Compiled - Fatal编程技术网

如果没有错误,python程序将不会执行

如果没有错误,python程序将不会执行,python,execution,fault,compiled,Python,Execution,Fault,Compiled,我正在学习Python,但遇到了一个问题。我无法在Windows CMD中执行以下代码。我只尝试了一个“Hello World”程序,它按预期执行。但是当我尝试这个程序时,什么都没有发生。没有错误消息或任何东西。我正在使用Python3.3和Pycharm 3.1 \uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 导入optpass 从套接字导入* def连接扫描(tgtHost、tgtPort): 尝试: c

我正在学习Python,但遇到了一个问题。我无法在Windows CMD中执行以下代码。我只尝试了一个“Hello World”程序,它按预期执行。但是当我尝试这个程序时,什么都没有发生。没有错误消息或任何东西。我正在使用Python3.3和Pycharm 3.1


\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
导入optpass
从套接字导入*
def连接扫描(tgtHost、tgtPort):
尝试:
connSkt=插座(自动线、插座流)
连接((tgtHost,tgtPort))
connSkt.send('ViolentPython\r\n')
结果=connSkt.recv(100)
打印('[+]%d/tcp打开''%tgtPort]
打印(“[+]”+str(结果))
connSkt.close()
除:
打印('[-]%d/tcp关闭''%tgtPort]
def端口扫描(tgtHost、tgtPorts):
尝试:
tgtIp=gethostbyname(tgtHost)
除:
打印(“[-]无法解析“”:未知主机“%tgtHost”)
返回
尝试:
tgtName=gethostbyaddr(tgtIp)
打印('\n[+]扫描结果:'+tgtName[0])
除:
打印('\n[+]扫描结果:'+tgtIp。
setdefaulttimeout(1))
对于tgtPorts中的tgtPorts:
打印('扫描端口'+tgtPort)
连接扫描(tgtHost.int(tgtPort))
def main():
parser=optparse.OptionParser('用法%prog'+\
“-H-p”)
add_选项('-H',dest='tgtHost',type=str\
help='指定目标主机')
parser.add_选项('-p',dest='tgtPort',type='int'\
help='指定以逗号分隔的目标端口')
(options,args)=parser.parse_args()
tgtHost=options.tgtHost
tgtPort=options.tgtPort
如果(tgtHost为None)|(tgtPorts[0]为None):
打印(“[-]必须指定目标主机和端口”)
出口(0)
端口扫描(tgtHost、tgtPorts)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()

您的缩进都被弄坏了-除了在其他答案和注释中提到的
如果uuu name uuuu==“main”
问题之外,每个函数都嵌套在它前面的函数中,这可能不是它应该的方式。你可能想要这样的东西:

__author__ = 'Johan'
import optparse
from socket import *

def connScan(tgtHost, tgtPort):
    try:
        connSkt = socket(AF_INET, SOCK_STREAM)
        connSkt.connect((tgtHost, tgtPort))
        connSkt.send('ViolentPython\r\n')
        results = connSkt.recv(100)
        print('[+]%d/tcp open'% tgtPort)
        print('[+] ' + str(results))
        connSkt.close()

    except:
        print('[-]%d/tcp closed'% tgtPort)

def portScan(tgtHost, tgtPorts):
    try:
        tgtIp = gethostbyname(tgtHost)
    except:
        print ('[-] Can not resolve '': Unknown host' % tgtHost)
        return
    try:
        tgtName = gethostbyaddr(tgtIp)
        print('\n[+] Scan Results for: ' + tgtName[0])
    except:
        print('\n[+] Scan Results for: ' + tgtIp.
            setdefaulttimeout(1))
        for tgtPort in tgtPorts:
            print ('Scanning Port ' + tgtPort)
            connScan(tgtHost. int(tgtPort))

def main():

    parser = optparse.OptionParser('usage%prog ' + \
        '-H <target host> -p <target port>')

    parser.add_option('-H', dest='tgtHost', type=str, \
        help='specify target host')
    parser.add_option('-p', dest='tgtPort', type='int', \
                      help='specify target port[s] separated by comma')
    (options, args) = parser.parse_args()
    tgtHost = options.tgtHost
    tgtPorts = options.tgtPort
    if(tgtHost is None) | (tgtPorts[0] is None):
        print('[-] You must specify a target host and port[s]')
        exit(0)
        portScan(tgtHost, tgtPorts)

if __name__== '__main__':
    main()
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
导入optpass
从套接字导入*
def连接扫描(tgtHost、tgtPort):
尝试:
connSkt=插座(自动线、插座流)
连接((tgtHost,tgtPort))
connSkt.send('ViolentPython\r\n')
结果=connSkt.recv(100)
打印('[+]%d/tcp打开''%tgtPort]
打印(“[+]”+str(结果))
connSkt.close()
除:
打印('[-]%d/tcp关闭''%tgtPort]
def端口扫描(tgtHost、tgtPorts):
尝试:
tgtIp=gethostbyname(tgtHost)
除:
打印(“[-]无法解析“”:未知主机“%tgtHost”)
返回
尝试:
tgtName=gethostbyaddr(tgtIp)
打印('\n[+]扫描结果:'+tgtName[0])
除:
打印('\n[+]扫描结果:'+tgtIp。
setdefaulttimeout(1))
对于tgtPorts中的tgtPorts:
打印('扫描端口'+tgtPort)
连接扫描(tgtHost.int(tgtPort))
def main():
parser=optparse.OptionParser('用法%prog'+\
“-H-p”)
add_选项('-H',dest='tgtHost',type=str\
help='指定目标主机')
parser.add_选项('-p',dest='tgtPort',type='int'\
help='指定以逗号分隔的目标端口')
(options,args)=parser.parse_args()
tgtHost=options.tgtHost
tgtPort=options.tgtPort
如果(tgtHost为None)|(tgtPorts[0]为None):
打印(“[-]必须指定目标主机和端口”)
出口(0)
端口扫描(tgtHost、tgtPorts)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()

如何运行此脚本?请将您的问题包括在您使用的命令中。这是:
如果uuuu name uuuu=''\uuuuuu main':main()
真的深藏在
main
中吗?如果是这样,那就是你的问题。如果uuu name uuu=='main':块的缩进出现错误,则需要完全取消缩进才能调用
。我试着在CMD“python portscan.py-H 127.0.0.1-p20”中运行,从“hello world”一下子跳到这是一个令人印象深刻的飞跃:-)或者你不是原作者?与他或她联系可能会有帮助。我现在尝试了你的代码,但得到了:文件“D:/Documents and Settings/Johan/PycharmProjects/PortScanner/PortScanner.py”,第52行,在if name_uuuuuu='''\uuu main':main()文件“D:/Documents and Settings/Johan/PycharmProjects/PortScanner/PortScanner.py”,第47行,主if(tgtHost是None)|(tgtPorts)[0]是None):TypeError:“NoneType”对象不是Subscriptable那么我应该如何“填充”代码?我无法编译该程序,因为它会给我上述错误
__author__ = 'Johan'
import optparse
from socket import *

def connScan(tgtHost, tgtPort):
    try:
        connSkt = socket(AF_INET, SOCK_STREAM)
        connSkt.connect((tgtHost, tgtPort))
        connSkt.send('ViolentPython\r\n')
        results = connSkt.recv(100)
        print('[+]%d/tcp open'% tgtPort)
        print('[+] ' + str(results))
        connSkt.close()

    except:
        print('[-]%d/tcp closed'% tgtPort)

def portScan(tgtHost, tgtPorts):
    try:
        tgtIp = gethostbyname(tgtHost)
    except:
        print ('[-] Can not resolve '': Unknown host' % tgtHost)
        return
    try:
        tgtName = gethostbyaddr(tgtIp)
        print('\n[+] Scan Results for: ' + tgtName[0])
    except:
        print('\n[+] Scan Results for: ' + tgtIp.
            setdefaulttimeout(1))
        for tgtPort in tgtPorts:
            print ('Scanning Port ' + tgtPort)
            connScan(tgtHost. int(tgtPort))

def main():

    parser = optparse.OptionParser('usage%prog ' + \
        '-H <target host> -p <target port>')

    parser.add_option('-H', dest='tgtHost', type=str, \
        help='specify target host')
    parser.add_option('-p', dest='tgtPort', type='int', \
                      help='specify target port[s] separated by comma')
    (options, args) = parser.parse_args()
    tgtHost = options.tgtHost
    tgtPorts = options.tgtPort
    if(tgtHost is None) | (tgtPorts[0] is None):
        print('[-] You must specify a target host and port[s]')
        exit(0)
        portScan(tgtHost, tgtPorts)

if __name__== '__main__':
    main()