Python 2.7 Печать списка в одну строку не работает - PullRequest
0 голосов
/ 06 июня 2018

Я попробовал все на этой странице и нескольких других поисках в 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()

Код работает (извините, я оставляю некоторые переменные, которыеиз других функций, но предположим, что они работают), однако, мой вывод имеет разрывы строк, и я не могу найти, где мне нужно преобразовать "uri_ip_src" и "uri_ip_dst", чтобы выводить его на одной строке.Мой вывод выглядит так:

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 голосов
/ 06 июня 2018

Ваша проблема:

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() 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...