Python execfile不打印任何内容,不打印变量的值

时间:2019-03-02 13:17:08

标签: python networking execfile

我有文件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

我希望结果是

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路由添加dst-address = 192.168.2.0 / 24网关= 192.168.1.1,我不知道它的最佳方法,还是没有

1 个答案:

答案 0 :(得分:0)

如果我理解正确,则只需要简单的字符串操作即可:

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中很重要。