Python 2.7在一行上打印列表不起作用

时间:2018-06-06 16:34:37

标签: python python-2.7

我已经尝试了page和其他一些Google搜索的所有内容,但我似乎无法让这一切发挥作用。
注意*我查找了有关打印的帮助以测试outfile.write的输出,但我仍然无法在测试中正确格式化 我的代码如下:

def ipfile():
    global ip_targets
    ip_target_file = raw_input('Place target file location here: ')
    try: ip_holder = open(ip_target_file,'r')
    except IOError:
        os.system('clear')
        print('Either I can\'t read that file, or it\'s not a file')
        os.system('sleep 3')
        return
    ip_targets = ip_holder.readlines()

def inbound_connections():   
    i = 0
    uri_ip_src = ''
    uri_ip_dst = ''
    while i < (len(ip_targets)):
        uri_ip_src_repeater = ('ip.src%3D%3D' + ip_targets[i])
        uri_ip_src = uri_ip_src + '||' + uri_ip_src_repeater
        uri_ip_dst_repeater = ('ip.dst%3D%3D' + ip_targets[i])
        uri_ip_dst = uri_ip_dst + '||' + uri_ip_dst_repeater
        i += 1          
    url = '&expression=' + "(" + (uri_ip_src[2:]) + ")" + "%26(" + (uri_ip_dst[2:]) + ")"
    #Write output to file functions
    outfile=open("jacobi_queries.txt","a")
    outfile.write("Same -> Same Connections " + str(datetime.datetime.now())[:16])
    outfile.write("\n")
    outfile.write(call_moloch + "/sessions?" + timestamp + url + "' 2>/dev/null &")
    outfile.write("\n")
    outfile.close()

代码有效(对不起,我留下了一些来自其他功能的变量,但假设它们有效)但是,我的输出有换行符,我似乎无法找到需要转换的地方&#34; uri_ip_src&#34;和&#34; uri_ip_dst&#34;使它在一行输出。我的输出看起来像这样:

Same -> Same Connections 2018-06-05 05:30
nohup firefox 'localhost:8005/sessions?&date=6&expression=(ip.src%3D%3D10.0.2.15
||ip.src%3D%3D10.0.0.1
||ip.src%3D%3D127.0.0.1
)%26(ip.dst%3D%3D10.0.2.15
||ip.dst%3D%3D10.0.0.1
||ip.dst%3D%3D127.0.0.1
)' 2>/dev/null &

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您的问题是:

ip_targets = ip_holder.readlines()

在每一行的末尾都有换行符。您希望在将每个元素的末尾添加到uri_ip_src_repeater之前删除此字符。这应该有效:

ip_targets = [i.rstrip('\n') for i in ip_targets]

但你也可以从源头中干净地抓住它们,而不必在以下情况下剥离不需要的字符:

ip_targets = ip_holder.read().splitlines()