【问题标题】:get input in python script from a file从文件中获取python脚本的输入
【发布时间】:2014-11-21 10:36:10
【问题描述】:

我正在尝试在 python 中编写一个脚本,该脚本从文件中获取输入,该文件是用户名列表,并为 smtp 服务器运行VRFY 命令。下面是脚本。

我几乎是 python 新手。我能够在互联网的帮助下创建以下脚本。在此脚本中,必须使用特定用户名运行脚本。

我如何提供一个包含用户名列表的文件,并且脚本为文件中的每个用户执行VRFY

!/usr/bin/python

import socket
import sys
if len(sys.argv) != 2:
        print "usage: vrfy.py <username>"
        sys.exit(0)

#create socket
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#connect to the server 
connect=s.connect(('10.10.10.10',25))
#REceive the banner
banner=s.recv(1024)
print banner
#VRFY a user
s.send('VRFY ' + sys.argv[1] + '\r\n')
result=s.recv(1024)
print result
#close the socket
s.close

谢谢,

【问题讨论】:

  • 非常感谢各位先生。非常感谢您的帮助。感谢 sk11,感谢多米尼克。 Sk11能否请您告诉我以下代码是否完全正确。对于用户中的 u:user = u.strip()
  • strip() 基本上从字符串中删除了空格。检查docs。当您从文件中读取行时,所有条目都将包含'\n'strip() 将删除所有这些。

标签: python input email-validation


【解决方案1】:

您可以使用open() 在 Python 中打开文件。我假设您的包含用户名的文本文件如下所示:

# usernames.txt
paul
henry
jim
foo

在您的脚本中,您可以像这样打开文件并一次读取一行:

usernames_file = open('usernames.txt')
for line in usernames_file:
    # get rid of the <end line> character at the end of each line
    username = line.strip()
    print username

【讨论】:

  • strip()(或rstrip())更常用于删除(尾随)空白字符,而不是line[:-1]
【解决方案2】:

假设 users.txt 包含用户名,类似下面的内容就可以完成这项工作。

!/usr/bin/python

import socket
import sys

# Probably u don't need it now
#if len(sys.argv) != 2:
    #print "usage: vrfy.py <username>"
    #sys.exit(0)

with open('users.txt', 'r') as f:
    users = f.readlines()

#create socket
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#connect to the server 
connect=s.connect(('10.10.10.10',25))
#Receive the banner
banner=s.recv(1024)
print banner

for u in users:
    user = u.strip()

    #VRFY a user
    s.send('VRFY ' + user + '\r\n')
    result=s.recv(1024)
    print result

#close the socket
s.close

【讨论】:

    猜你喜欢
    • 2015-05-22
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    相关资源
    最近更新 更多