BASEDIR
1)正常写python程序会有一个可执行的bin.py文件,假如这个文件需要导入my_module里面定义的模块,应该怎么设置sys.path(此时可以直接导入), 因为bin和model属于同级目录
2)文件夹目录结构如下,因为bin不在与my_module同级目录下,而是在bin目录下,如果直接使用from my_module import main调用模块肯定会报错,需要把对应的上一级目录day21_lesson添加到sys.path

一,使用绝对路径添加:

使用绝对路径把对应的目录添加到sys.path里面相当于把程序写死了,一旦目录结构发生变化或者复制到其他主机将不能运行
二,使用相对路径添加
__file__变量是文件的名称 print(__file__) 执行结果D:/blzfmima/python3_s3/day21/day21_lesson/bin/bin.py
os.path.dirname 是os内置方法取文件的路径这里连续使用两次方法取文件bin.py,
第一次执行结果为 路径为D:/blzfmima/python3_s3/day21/day21_lesson/bin
然后在针对这个路径再取一次路径获取需要的路径D:/blzfmima/python3_s3/day21/day21_lesson/

以上可以在pycharm里面正常实现调用,但是在终端执行还是会出错,因为Pycharm会自作主张添加绝对路径
三,终极方法 使用os.path.abspath取文件bin.py绝对路径 然后使用两次os.path.dirname取到上两层的路径及本列的路径D:/blzfmima/python3_s3/day21/day21_lesson/

BASEDIR的更多相关文章
- TOMCAT-报错The BASEDIR environment variable is not defined correctly
<span style="font-size:18px;">The BASEDIR environment variable is not defined correc ...
- 【TOMCAT启动异常】The BASEDIR environment variable is not defined correctly
<span style="font-size:18px;">The BASEDIR environment variable is not defined correc ...
- linux环境中通过useradd命令,创建用户的时候指定用户的base-dir
需求说明: 今天一个同事,问了一个这样的问题,在linux环境中,创建用户的时候,默认的是在/home目录下创建一个与用户名相同的家目录, 如何能够将这个/home更换成一个其他的,比如/opt/ap ...
- Linux下Tomcat启动报 The BASEDIR environment variable is not defined
今天是2017年2月27.在Linux下部署Tomcat官网下载的Tomcat 8.5,结果启动startup.sh报如下错,即使只是跑version.sh也报同样的错. $ ./version.sh ...
- Can't determine basedir from my_print_defaults mysqld
我的环境是:centos7 + mysql5.7.26,今天在用 mysqldumpslow 命令查看慢查询日志时出现下面的错误 [root@localhost ~]# mysqldumpslow - ...
- asp.net core 3 使用nlog日志组件,使用$ {basedir}保存位置不对,记录下怎么解决
$ {basedir}指向的是 AppDomain.CurrentDomain.BaseDirectory, Asp.Net.Core的解决方法可能如下(在Program.cs中添加两行): var ...
- Maven的属性,${project.basedir},${project.build.directory}:项目构件输出目录,默认为 target/
内置属性 主要有两个常用内置属性:${basedir}项目的根目录(包含pom.xml文件的目录),${version}项目版本 POM属性 用户可以使用该属性引用POM文件中对应元素的值,常用的PO ...
- day22、模块-basedir、os、json模块、pickle和正则模块。
四.正则. re模块: 作用:针对的对象:字符串, 课前引入: 例子一. s='dsdsadsadadsalexdsds's.find('alex') 如何找到字符串内部的alex;?过去学习可使用方 ...
- mysq 安装时候进行生成数据库系统时候执行语句 ./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql 时候报错
我在安装数据库时候在系统进行生成数据库时候出现下面问题,就是在 scripts里面mysql_install_db没有执行权限, 进入到scripts目录下,执行chmod 777 mysql_ins ...
随机推荐
- [Mac]secureCRT私钥转换为mac ssh私钥
工作环境从win迁移到mac后,win上原来用secureCRT生成的key,在mac的iterm2中不能兼容使用,导致无法再mac下登录.报错如下: key_load_public:invalid ...
- 剑指Offer 53. 表示数值的字符串 (字符串)
题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.1 ...
- github/gitee使用办法
github/gitee只要添加SSH公钥都是可以连接上的 比如把某个文件上传gitee 首先肯定要有权限 否则会一直提醒failed伤心心 接下来说常用语句 git config --list ...
- 学习笔记TF039:TensorBoard
首先向大家和<TensorFlow实战>的作者说句不好意思.我现在看的书是<TensorFlow实战>.但从TF024开始,我在学习笔记的参考资料里一直写的是<Tenso ...
- c++ 快速读入输出
1. 读入优化 C++中有一个函数:getchar() ,用于读入字符,那么这跟读入整数有什么关系呢? 其实,经过类似高精度的处理,就可以实现类型转换啦! 下面是正负数读入优化模板: #include ...
- .htaccess FollowSymlinks影响rewrite功能
Thinkphp的框架的根目录的.htaccess是这样写的: <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine ...
- WinFormEx
项目地址 : https://github.com/kelin-xycs/WinFormEx WinFormEx 一个 用 C# 写的 WinForm 扩展库 , 用于改善 WinForm 的 界面 ...
- Laravel 5.5处理 Emoji 表情不顯示問題
服务器环境:PHP7 + MySQL5.6 + Laravel 5.5 項目有個玩樂日誌功能,添加玩樂日誌有富文本輸入,富文本輸入的內容在emoji表情之後被截斷了,沒保存到數據表,排查是對應字段字符 ...
- 论文阅读笔记:【Transforming Auto-encoders】
[Transforming Auto-encoders]: G E Hinton, A Krizhevsky, S D Wang. Transforming auto-encoders[C]. //I ...
- C# System.IO和对文件的读写操作
System.IO命名空间中常用的非抽象类 BinaryReader 从二进制流中读取原始数据 BinaryWriter 从二进制格式中写入原始数据 BufferedStream 字节流的临时存储 ...