python - Python 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 route add dst-address=192.168.2.0/24 gateway=192.168.1.1,我不知道它是不是最好的方法
解决方案
如果我理解正确,您只需要简单的字符串操作:
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 中很重要。
推荐阅读
- c# - C#为什么使用CreateFileAsync方法时没有GetAwaiter(StorageFile)的实现?
- javascript - 无法读取未定义的属性“组件” - 反应组件插件的 webpack 构建
- json - 如何使用 jq 过滤带有小 JSON 的大 JSON?
- python - Django - 模型结构
- c# - SymbolFinder.FindReferencesAsync 没有返回所有结果?
- vb.net - 监控进程和子进程 vb
- c++ - 通过 for 循环填充 TCHAR 数组
- ruby-on-rails - 以 ajax 形式包含 Stripe 卡信息会删除authentity_token
- linux - 如何用 SED 命令替换单词?
- lua - 带有变量字符串的寻址表