Python项目中调试执行单文件的注意点

有时候 ,我们在一个python项目做单文件调试的时候,会发现想单独执行某个文件,但是直接执行的话,会导致module not found 问题,这些文件从系统的path路径找不到,程序的引入文件,所以在这个时候,需要用到sys这个库。

你需要让代码告诉编译器,我引入的自定义的库文件在哪里,所以 一般的解决方案:

import sys

sys.path.append(‘./pathfile’)

#pathfile代表程序需要引入文件的相对路径或者绝对路径,

这样编译器就知道除了path以外,还需要去哪里引入库文件。

碰到的linux的dns解析问题

之前接到一个需求,在某台Linux上,需要对测试环境的所有域名进行解析,考虑到如果使用/etc/hosts的话,每个域名都要手动去配置一条记录 比如

127.0.0.1 hello.test.com

貌似解决了,但是这里有个前提提条件是,所有域名 ,公司的域名有几千个,不可能手动一个一个的去加记录,那么怎么处理呢?

这个时候需要 /etc/resolv.conf出场,这个文件是linux本机的dnsserver,所有在这里配置一个dnsserver就可以了,比如

10.99.88.1

当主机访问 x.test.com ,会先去resolv.conf读取dnsserver,然后会逐一尝试,当使用到10.99.88.1 就相当于 x.test.com->10.99.88.1 ,10.99.88.1一般是nginx的代理机器,所以能将x.test.com代理到后端真实的server上,这样就可以解决所有域名解析的问题了。

前提是10.99.88.1需要能转发x.test.com的请求到后端。