解决编译器可以执行文件, 使用cmd命令无法执行文件,报ModuleNotFoundError的问题
文件格式
项目:testCase
包: conf
文件名: address
内容:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : chairDu
# @Email : chair7@163.com
# @File : address.py
# @DataTime : 2022-08-21 14:56:00
# @Description :配置项目路径地址
def myTest():
"""本机环境地址"""
myAddress = "127.0.0.1/8888"
return myAddress
def sqProcessDataAcquisition():
"""sq数据加工"""
return "/v01/save/sqProcess/sqProcessDataAcquisition"
def filmInfoList():
"""影视列表"""
return "/v01/search/filmInfoList"
def filmInfoParticulars():
"""影视详情"""
return "/v01/search/filmInfoParticulars"
address = myTest()
ip = address.split("/")[0]
port = address.split("/")[1]
包: test_v01.test_search
文件名: test_filmInfoList
内容:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : chairDu
# @Email : chair7@163.com
# @File : test_filmInfoList.py
# @DataTime : 2022-08-21 14:59:00
# @Description :测试影视列表用例
from conf.address import *
url = myTest()
print(url)
>>> 127.0.0.1/8888
cmd任务栏执行:
python H:\testCase\test_v01\test_search\test_filmInfoList.py
>> Traceback (most recent call last):
>> File "H:\testCase\test_v01\test_search\test_filmInfoList.py", line 13, in <module>
>> from conf.address import *
>> ModuleNotFoundError: No module named 'conf'
因为pycharm默认使用解析器, 会导入该项目的所有包, 而cmd命令找不到该项目, 这个时候, 使用 sys.path.append("项目路径")
即可
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : chairDu
# @Email : chair7@163.com
# @File : test_filmInfoList.py
# @DataTime : 2022-08-21 14:59:00
# @Description :测试影视列表用例
import os
import sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
from conf.address import *
url = myTest()
print(url)
# 当前文件的父目录的父目录的父目录
import os
import sys
# 当前路径: H:\testCase\test_v01\test_search\test_filmInfoList.py
# 添加路径: H:\testCase
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
# 当前文件的父目录的父目录
import os
import sys
# 当前路径: H:\testCase\test_v01\test_search\test_filmInfoList.py
# 添加路径: H:\testCase\test_v01
sys.path.append(os.path.dirname(os.path.dirname(__file__)))
os.path.dirname(__file__) # 获取当前文件的绝对路径
os.path.dirname("path") # 获取当前文件的上级文件路径
sys.path.append() # 路径加入变量
os.path.abspath(".") # 当前执行文件的位置
os.path.abspath("../") # 当前执行文件的上级位置
os.getcwd() # 获取当前执行文件的路径
os.path.dirname(os.path)
os.path # 当前模块的路径
sys.path[0] # 当前文件的绝对路径
sys.path.append() # 初始化路径