Python execfile не печатать, не печатать значение из переменной - PullRequest
0 голосов
/ 02 марта 2019

У меня есть файл mikrotik.py

'ip route add dst-address={}/{} gateway={}'.format(destination,prefix,gateway)

и этот код

import os
    localfilepath = os.getcwd()
    staticDir = localfilepath+"/website/plugin/config/routing/static/"
    vendors = staticDir+"MIKROTIK.py"
    destination = 192.168.2.0
    prefix = 24
    gateway = 192.168.1.1
    x = execfile(vendors)
    print x

результат

None

Iхочу получить результат

ip route add dst-address=192.168.2.0/24 gateway=192.168.1.1

Когда я использую

x = open(vendors)
print x

результат будет

'ip route add dst-address={}/{} gateway={}'.format(destination,prefix,gateway)

Заранее спасибо

так что наконец я используюeval (x)

и в результате ip route add dst-address = 192.168.2.0 / 24 gateway = 192.168.1.1, я не знаю его лучший способ или нет

1 Ответ

0 голосов
/ 02 марта 2019

Если я правильно понимаю, вам нужны только простые манипуляции со строками:

import os

destination = 192.168.2.0
prefix = 24
gateway = 192.168.1.1
vendors = 'ip route add dst-address={}/{} gateway={}'.format(destination,prefix,gateway)
print x

Если вы действительно хотите поместить строку / формат в отдельный файл, используйте текстовый файл, файл json и т. Д., Но нет.py файл.

Кстати, идентификация важна в python.

...