关于python相对路径,绝对路径的问题 20

关于python相对路径,绝对路径的问题我的当前目录为D:\lianxi\quanju.pystring.py__init__.pylianxi.py我运行quanju.... 关于python相对路径,绝对路径的问题
我的当前目录为D:\lianxi\
quanju.py
string.py
__init__.py
lianxi.py
我运行quanju.py
quanju.py中的代码为:
import lianxi
import string
print string.__file__
print lianxi.__file__
我在C:\Python26\Lib目录中也放了lanxi.py
为什么运行后的string和lianxi的文件地址不同:
C:\Python26\lib\string.pyc
D:\lianxi\lianxi.pyc

我调看了sys.path
['D:\\lianxi', 'C:\\Python26\\Lib\\idlelib', 'C:\\WINDOWS\\system32\\python26.zip', 'C:\\Python26\\DLLs', 'C:\\Python26\\lib', 'C:\\Python26\\lib\\plat-win', 'C:\\Python26\\lib\\lib-tk', 'C:\\Python26', 'C:\\Python26\\lib\\site-packages']

不是会先搜索当前目录吗,那为什么只搜索当前目录的lianxi.py而string.py却是标准库中的呢
我用的是python2.6版本,不知道实行了默认据对路径了没,但是我将quanju.py代码改为如下:
from __future__ import absolute_import
from . import lianxi
from . import string
print string.__file__
print lianxi.__file__
总会出现如下提示
Traceback (most recent call last):
File "D:\lianxi\quanju.py", line 2, in <module>
from . import lianxi
ValueError: Attempted relative import in non-package

能给我讲讲from . import ……
的使用方法吗,在此谢过了
展开
 我来答
passepartoute
2011-08-20 · TA获得超过376个赞
知道小有建树答主
回答量:289
采纳率:100%
帮助的人:262万
展开全部
没有见过from . import ..这种用法,
如果在当前目录下直接import就可以了
如果在当前目录下的aa目录里面有一个lianxi.py,你可以用 from aa import lianxi
C:\Python26\lib\里面直接放的库文件是python自带的系统库文件,第三方的库或者是你自己的库文件是放在C:\\Python26\\lib\\site-packages下面的。
尽量不要取和python系统库一样的名字,可能会引起冲突。因为有很多系统库之间互相依赖的,有的也会有import string.
其他的情况当前目录下的是会被优先import到的。
zincorchid
2011-08-21 · TA获得超过386个赞
知道答主
回答量:77
采纳率:100%
帮助的人:100万
展开全部
我这儿python 2.7不存在这个问题
在命令行下用python2.6运行
print "\n".join(__import__("sys").modules)
告诉我输出里面有没有string模块,有的话就说明python的模块导入机制将你的string.py忽略了。

from语法大概是这样:
from MODULE import NAME [ as NEW_NAME] [, ...]
详细定义见这里:
docs.python.org/release/2.6.7/reference/simple_stmts.html#the-import-statement
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
受伤达h
2011-08-19 · 超过21用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:60.4万
展开全部
from . import ……
from (扩展包) import *(*表示该扩展包里的全部函数,也可以单个列出来,如: from sys import exit )
还有就直接 import xxxx
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式