1.一直都是pycharm直接运行python文件 接了个需求要shell脚本做出判断然后运行python文件 :
1.这段shell脚本大概意思就是 如果.txt文件存在且不为空, 将文件里的内容读出来赋值给message 2. 将文件的行数读出来赋值给lines
3.判断lines d大于等于8 把手机号写入另外一个txt文件
4.之后读出所有txt文件中的手机号码 作为参数传递给python文件
写好了本地的测试一下,结果出问题了
发现本地执行
Python3 xx.py "xx" "xx"报错,报错信息:
import requests
ModuleNotFoundError: No module named 'requests'
pycharm执行了n+n次了都没报错 哪里出了问题:
解决吧:
第一步查看python路径,不查不知道一查发现版本和pycharm使用版本不同:
import sys
print (sys.path)
本地环境变了配置的是3.10版本,pycharm使用的是3.8
那就修改回来吧 这边解决方案是升级了pycharm 引用的版本
如果不是这个原因提示:
import requests
ModuleNotFoundError: No module named 'Xxx'
解决方式如下:
在需要在命令行执行的.py的文件添加代码如下:
import os
import sys
# get current working directory -- Better to set the PYTHONPATH env variable
# current_working_directory = "项目路径"
# sys.path.append(current_working_directory)
最后分析:Python搜索模块的路径:
(1)、程序的主目录
(2)、PTYHONPATH目录(如果已经进行了设置)
(3)、标准连接库目录(一般在/usr/local/lib/python3.X/)
(4)、任何的.pth文件的内容(如果存在的话).新功能,允许用户把有效果的目录添加到模块搜索路径中去.pth后缀的文本文件中一行一行的地列出目录。(有需要的话也会在Lib\site-packages目录下建一个.pth的文件)
这四个组建组合起来就变成了sys.path了