Python3 之 import 和 当前目录
环境:
Python-3.4.3
Web.py-0.37
安装 web.py 的时候,提示
ImportError: No module named 'utils'
看看源码,setup.py,有这么一句
from web import __version__
这句会执行 web 文件夹中的 __init__.py,再看 __init__.py,有
import utils, db, net, wsgi, http, webapi, httpserver, debugerror
utils.py, db.py 等与 __init__.py 在同一个文件夹
做了个实验
一个文件夹 A,里面有 a.py 和 B 文件夹,B 文件夹中有 __init__.py
a.py
import os
import B print (os.getcwd ())
__init__.py
import os print (os.getcwd ())
运行 a.py,输出的两个路径一样
Python3 从 sys.path 中找 import 的模块或包,而 Python3 中上面 import B 时运行 __init__.py 不改变当前目录,当前目录还是 A
后来……就找到了 https://github.com/warmwaver/webpy/tree/python3
--date: 2015-08-19
Python3 之 import 和 当前目录的更多相关文章
- Python3.6 import源文件与编译文件的关系
小结: 在Python3.6中 源文件存在时,import会比较源文件与__pycache__里相应文件的时间戳,来决定是否重新生成缓存编译文件 源文件不存在时,import会导入相应的.pyc文件 ...
- Python3基础 import...as 给导入的模块起别名
Python : 3.7.3 OS : Ubuntu 18.04.2 LTS IDE : pycharm-community-2019.1.3 ...
- python3 动态import
有些情况下,需要动态的替换引入的包 1.常用的import方法 import platform import os 2.__import__ 动态引用 loop_manager = __import_ ...
- windows anaconda python3.7 import ssl,psycopg2报错
使用anaconda,本来是为了减少装第三方模块依赖出错问题的. 但是,今天发现,也是有坑啊. 首先 import ssl 报错,import _ssl 说DLL load failed 解决办法:用 ...
- python3下import MySQLdb出错问题
原因:python2下是使用的MySQLdb,python3下用的是pymysql 安装 pip install pymysql
- python3 python2 import 的区别
https://stackoverflow.com/questions/12172791/changes-in-import-statement-python3
- python2 与 python3的区别
python2 与 python3的区别 几乎所有的python2程序都需要一些修改才能正常的运行在python3的环境下.为了简化这个转换过程,Python3自带了一个2to3的实用脚本.这个脚本会 ...
- python2 与 python3的区别总结
python2 与 python3的区别总结 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为了简化这个转换过程,Python 3自带了一个叫做2to3的 ...
- python之import子目录文件
问题: 在pre_tab.py文件下: print("AA") from test.te import login1 login1() from test.te import ...
随机推荐
- 安装lnmp一键安装包(转)
系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian Linux系统 需要3GB以上硬盘剩余空间 128M以上内存,Xen的需要有SWAP,OpenVZ的另外 ...
- Pressure-sensitive pores scattered
Some researchers take issue with this however - a shark's vision is too good and its sense of smell ...
- hashmap 读取
hashTable hashSet 都差不多 以hashmap为例,底层是一个散列表 数组,然后数组存出一个entry对象,对象中有两个泛型属性,一个可以指向自身类型的引用,这样就可以在每一个数组的位 ...
- Windows Phone开发需要了解的背景
在Windows Phone8.1之前,Windows Phone应用是基于Silverlight的,这些代码也不能在Windows上运行,从Windows Phone8.1开始,开发者多了一个选择, ...
- C语言程序设计第四次作业
态度决定一切,我依然要说这句话,每次同学们提交的作业,我都会认真评阅,相比实验课而言,可以有更充足的时间来发现问题,很多同学的代码依然会存在一些语法错误或者考虑不周全的现象,我提出了,那么,你认真看了 ...
- iOS的触摸事件的用法以及和手势识别器的区别
1.首先来介绍下触摸事件和手势识别器的利与弊 触摸事件和手势识别器二者之间有直接的关系 手势识别器是在触摸事件的基础上演变过来的 当我们用到触摸事件时 默认的uiview是没有什么效果的 只能自定义v ...
- Shiro安全登录框架
环境准备 本文使用Maven构建,因此需要一点Maven知识.首先准备环境依赖: <dependencies> <dependency> <groupId>juni ...
- session过期,登录页被内嵌iframe的解决方案
在登录页的js加上: if(window !=top){ top.location.href = location.href; } 就可以完美解决这个问题!
- codewars 随手记
1.ES6数组遍历语法糖=> 在C#Linq里曾经用过,因此也不是很陌生. var range = Array.apply(null, Array(x)).map((_, i) => ++ ...
- UI1_第一天_iOS概述
iOS:移动操作系统 ------------>ios7.0变化大,倾向于扁平化 UI:用户界面,即各种页面元素 创建工程 Xcode ios -->Application —>模 ...