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

时间: 2024-12-14 04:38:36

Python3 之 import 和 当前目录的相关文章

Python3基础 import...as 给导入的模块起别名

? ???????Python : 3.7.3 ?????????OS : Ubuntu 18.04.2 LTS ????????IDE : pycharm-community-2019.1.3 ??????Conda : 4.7.5 ???typesetting : Markdown ? code [email protected]:~$ source activate py37 (py37) [email protected]:~$ ipython Python 3.7.3 (default

python2 与 python3的区别总结

python2 与 python3的区别总结 几乎所有的Python 2程序都需要一些修改才能正常地运行在Python 3的环境下.为了简化这个转换过程,Python 3自带了一个叫做2to3的实用脚本(Utility Script),这个脚本会将你的Python 2程序源文件作为输入,然后自动将其转换到Python 3的形式. 案例研究:将chardet移植到Python 3(porting chardet to Python 3)描述了如何运行这个脚本,然后展示了一些它不能自动修复的情况.这

centos6.5下安装python3安装、python3虚拟环境创建venv

原因:在安装完centos6.5后,通过命令行键入python时,默认为python2.6.6版本,系统并没有安装python3版本.又想学习python3,因此需要在centos6.5下安装python3版本. <python3安装> 1.下载python3的安装包: (1)如果能够联网,则直接: [[email protected] 3pyex]# wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tgz 其中,我这里安装的

python2 与 python3的区别

几乎所有的python2程序都需要一些修改才能正常的运行在python3的环境下.为了简化这个转换过程,Python3自带了一个2to3的实用脚本.这个脚本会将python2程序源文件作为输入,然后自动转换到python3.但并不是所有内容都可以自动转换. print语句 python2中print是一个语句,不论想输出什么,直接放到print关键字后面即可.python3里,print()是一个函数,像其他函数一样,print()需要你将要输出的东西作为参数传给它. python2 pytho

CentOS-6.x系统基于python-3.5安装tensorflow-1.4

简介 tensorflow的安装分cpu版本和gpu版本, 这里只讨论cpu版本. google提供了很多种安装方式, 主要分三种, 一种是pip安装,非常简单,重要的是它在各个平台都是可以用的,包括windows,但是CentOS6需升级glibc和gcc(CXXABI_)版本 第二种是通过docker安装,也差不多是一键安装,内核版本低于3.10不能安装docker,具体的介绍可以看https://github.com/tensorflow/tensorflow/tree/master/te

python3 搜索关键字小程序

#!/usr/bin/python3 #luck import sys filename = input('请输入您要搜索的路径及文档名称:') if len(filename) == 0:     sys.exit('不能为空!') while True:   mubiao = input('请输入您要搜索的关键词:')   if mubiao == 'exit':       sys.exit('欢迎使用搜索系统!')   if len(mubiao) == 0:       continu

测试使用fpm将python3的源码打包成rpm来安装

一.基础环境 1.在tvm-base的基础上,复制一个镜像为tvm-rpm来测试. 2.网络: eth0:host-only(用于虚拟内网,手动固定IP,这样从宿主机可以直接连接到这个vm) eth1:NAT(用于上外网,动态IP) [[email protected] ~]# ip a s dev eth0 |grep global     inet 192.168.56.253/24 brd 192.168.56.255 scope global eth0 [[email protected

python3.4用循环往mysql5.7中写数据并输出

#!/usr/bin/env python # -*- coding:utf-8 -*- # __author__ = "blzhu" """ python study Date:2017 """ import pymysql # import MySQLdb #python2中的产物 try: # 获取一个数据库连接,注意如果是UTF-8类型的,需要制定数据库 conn = pymysql.connect(host='loc

python之import子目录文件

问题: 在pre_tab.py文件下: print("AA") from test.te import login1 login1() from test.te import login1 程序中此句引入当前目录下test目录中的te.py文件中的login1对象(方法) 但是一直报错 importError 没找到test.te这个模块 Traceback (most recent call last): File "C:/Users/Administrator/Pycha