请教一个python问题:from XXX wsimportt XXX

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
河北保定人
LOFTER精选
阅读(2011)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'简单说说python import与from...import....(python模块)',
blogAbstract:'简单说说python import与from...import....(python模块)在python用import或者from...import来导入相应的模块。模块其实就一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。这 类似于C语言中的include头文件,Python中我们用import导入我们需要的模块。eg:',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:6,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'河北保定人',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}1078人阅读
python 的import机制,以备忘:&
python中,每个py文件被称之为模块,每个具有__init__.py文件的目录被称为包。只要模块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用。&
如果想使用非当前模块中的代码,需要使用Import,这个大家都知道。&
如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,比如在a.py中使用b.py:&
但是如果要import一个不同目录的文件(例如b.py)该怎么做呢?&
首先需要使用sys.path.append方法将b.py所在目录加入到搜素目录中。然后进行import即可,例如&
import sys&
sys.path.append('c:\xxxx\b.py') # 这个例子针对 windows 用户来说的&
大多数情况,上面的代码工作的很好。但是如果你没有发现上面代码有什么问题的话,可要注意了,上面的代码有时会找不到模块或者包(ImportError: No module named xxxxxx),这是因为:&
sys模块是使用c语言编写的,因此字符串支持 '\n', '\r', '\t'等来表示特殊字符。所以上面代码最好写成:&
sys.path.append('c:\\xxx\\b.py')&
或者sys.path.append('c:/xxxx/b.py')&
这样可以避免因为错误的组成转义字符,而造成无效的搜索目录(sys.path)设置。&
但上述方法是针对脚本来说的,每次使用要记得加上,如果永久性的加入某个目录到sys.path中去呢?
如何将路径“永久&添加到sys.path?
sys.path是python的搜索模块的路径集,是一个list
可以在python 环境下使用sys.path.append(path)添加相关的路径,但在退出python环境后自己添加的路径就会自动消失了!
可以使用以下命令输入当前python 的搜索路径:
python -c&print '当前的python是:'+sys.print '\n'.join(sys.path)&
练习使用sys.path.append方法添加路径,显示退出python会消失!
python -c&print '当前的python是:'+sys.sys.path.append(r'E:\DjangoWord');print '\n'.join(sys.path)&
再次运行,会发现 自己添加路径E:\DjangoWord()不存在了!
python -c&print '当前的python是:'+sys.print '\n'.join(sys.path)&
为解决这个问题,可以有以下方法:
将自己做的py文件放到 site_packages 目录下:
下面命令显示了 site-packages 目录:
python -c &from distutils.sysconfig import get_python_ print get_python_lib()&
&但是这样做会导致一个问题,即各类模块都放到此文件夹的话,会导致乱的问题,这一点是显而易见的。
&注意,也不创建子文件夹,再将自己的模块放到子文件夹解决问题,这会导致使用import 语句时错误。
使用pth文件,在 site-packages 文件中创建 .pth文件,将模块的路径写进去,一行一个路径,以下是一个示例,pth文件也可以使用注释:
# .pth file for the& my project(这行是注释)
E:\DjangoWord
E:\DjangoWord\mysite
E:\DjangoWord\mysite\polls
这个不失为一个好的方法,但存在管理上的问题,而且不能在不同的python版本中共享。
使用PYTHONPATH环境变量,在这个环境变量中输入相关的路径,不同的路径之间用逗号(英文的!)分开,如果PYTHONPATH 变量还不存在,可以创建它!如下图所示:
这里的路径会自动加入到sys.path中,而且可以在不同的python版本中共享,应该是一样较为方便的方法。
关于与python相关的环境变量有那些,请参考:
& 在页面上找到PYTHONPATH
以下是该环境变量的描述:
PYTHONPATH
Augment the default search path for module files. The format is the same asthe shell’s&PATH: one or more directory pathnames separated by&(e.g.
colons on Unix or semicolons on Windows).Non-existent directories are silently ignored.
In addition to normal directories, individual&&entriesmay
refer to zipfiles containing pure Python modules (in either source orcompiled form). Extension modules cannot be imported from zipfiles.
The default search path is installation dependent, but generally begins withprefix/lib/pythonversion&(see&&above).
Itis&always&appended to&.
An additional directory will be inserted in the search path in front of&as
described above under. The search path can be manipulated fromwithin a Python program as the variable&.
附:python安装模块的多种方法
1、自己写的模块,可以直接添加到路径下。这样就可以直接调用。
import sys
sys.path.append(&/home/username/&)
2、单文件模块
直接把文件拷贝到$python_dir/lib
3、网上下载的第三方库,一般解压后,找setup.py文件
& &运行python setup.py install
4、 egg文件
& &1) 下载ez_setup.py,运行python ez_setup
& &2) easy_install *.egg
5、pip安装方法
& &Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。
& &Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。
& &安装Pip
& &Pip的安装可以通过源代码包,easy_install或者脚本。
& &下面介绍一下各种安装方法:
& &源代码方式:
& &$ wget https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz (替换为最新的包)
& &$ tar xzf pip-1.2.1.tar.gz
& &$ cd pip-1.2.1.tar.gz
& &$ python setup.py install
& &easy_install:
& &$ easy_install pip
& &get_pip.py 脚本:
& &$ curl -0 /pypa/pip/master/contrib/get-pip.py
& &$ sudo python get-pip.py
& &OK, 下面来看一下Pip的使用
& &安装package
& &$ pip install Markdown
& &列出安装的packages
& &$ pip freeze
& &安装特定版本的package
& &通过使用==, &=, &=, &, &来指定一个版本号。
& &$ pip install 'Markdown&2.0'
& &$ pip install 'Markdown&2.0,&2.0.3'
& &升级包到当前最新的版本,可以使用-U 或者 --upgrade
& &$ pip install -U Markdown
& &$ pip uninstall Markdown
& &pip search &Markdown&
6、特殊库的安装(一个科学计算库Enthought Python Distribution的安装)&
& Enthought Python Distribution在ubuntu下安装的测试,应一个网友的请求,问怎么安装这个库,从官方网站上下载了一个文件
epd_free-7.3-2-rh5-x86.sh,遮个文件是sh 格式的文件,用sudo bash epd_free-7.3-2-rh5-x86.sh 运行这个文件,出现很多权限的阅读,点回车,不要连续点
需要点一次看一下,最后出现一个同一不同一它的版权声明,输入&yes&,再下来是让选择安装的目录,点回车,就安装在当前目录下。
这样就安装好了。
当前目录下输入
&&& ipython --pylab
Python 2.7.3 (default, Apr 20 :07)
Type &copyright&, &credits& or &license& for more information.
IPython 0.12.1 -- An enhanced Interactive Python.
? & & & & -& Introduction and overview of IPython's features.
%quickref -& Quick reference.
help & & &-& Python's own help system.
object? & -& Details about 'object', use 'object??' for extra details.
Welcome to pylab, a matplotlib-based Python environment [backend: TkAgg].
For more information, type 'help(pylab)'.
再这样调用。这个库由于我工作上用不上,所以也不需要进一步的研究。
In [1]: from scipy import *
In [2]: a=zeros(1000)
In 3]: a[:100]=1
In [4: b=fft(a)
In [5]: plot(abs(b))
无法import的原因(ImportError: No module named *****)
近期python 学习的一些总结:添加路径到sys.path
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:101996次
积分:1327
积分:1327
排名:第12650名
原创:20篇
转载:109篇
(2)(1)(2)(3)(1)(4)(1)(1)(1)(5)(6)(8)(2)(10)(5)(11)(8)(6)(16)(16)(1)(6)(15)当前位置: >
> python 怎么在一个文件中调用另一个文件的类
python 怎么在一个文件中调用另一个文件的类
samzhang95 & at
python 如何在一个文件中调用另一个文件的类
  #filename xk
  class class AClass:
def __init__(self,name):
print name
a=AClass("sadfaf")
  开始尝试的是用
  import xk
a=AClass("sadfaf")
  执行出错
  一直以为python和Java是一样的,类名要和文件名符合
  正确做法
导入模块如果使用import xxx的形式,则它的内容要加上xxx.进行限定。如果不想要xxx.限定,则需要使用:  from xk import AClass
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&&&增值电信业务经营许可证湘B2-& & &在大的互联网公司干技术的基本都会碰到测试、预发布、线上这种多套环境的,来实现测试和线上正式环境的隔离,这种情况下,就难免会碰到秀逗了把测试的链接发布到线上的情况,一般这种都是通过一些测试的检查工具来检查链接来规避风险的。前两天跟了一个问题也是这个情况,开发疏忽把日常url发布到线上了。但是测试那边没有自动化的监控工具,导致没有及时发现,由于最近正好在看python,后来处理完回家就想用python做个简单的监控。
& & &大略思路是:用python写一个脚本来分析网页里的所有url,看是否包含日常的链接,然后把脚本放到crontab里跑定时任务,10分钟跑一次检查。如果发现非法链接,就发告警邮件给相关人员。脚本代码100行左右,比较好理解,贴上代码。
  本来想用beautifulsoup,不过考虑到安装三方库麻烦,所以还是用自带的sgmllib来,不需要关心库。发邮件函数没有实现,根据各自的smtp服务器实现以下即可。
1 #!/usr/bin/env python
2 #coding:UTF-8
4 import urllib2
5 from sgmllib import SGMLParser
6 import smtplib
7 import time
8 #from email.mime.text import MIMEText
9 #from bs4 import BeautifulSoup
10 #import re
12 class UrlParser(SGMLParser):
def do_a(self,attrs):
'''parse tag a'''
for name,value in attrs:
if name=='href':
self.urls.append(value)
def do_link(self,attrs):
'''parse tag link'''
for name,value in attrs:
if name=='href':
self.urls.append(value);
30 def checkUrl(checkurl, isDetail):
'''检查checkurl对应的网页源码是否有非法url'''
parser = UrlParser()
page = urllib2.urlopen(checkurl)
content = page.read()
#content = unicode(content, "gb2312").encode("utf8")
parser.feed(content)
urls = parser.urls
dailyUrls = []
detailUrl = ""
for url in urls:
if 'daily' in url:
dailyUrls.append(url);
if not detailUrl and not isDetail and 'detail.' in url:
detailUrl = url
page.close()
parser.close()
if isDetail:
return dailyUrls
return dailyUrls,detailUrl
55 def sendMail():
'''发送提醒邮件'''
59 def log(content):
'''记录执行日志'''
logFile = 'checkdailyurl.log'
f = open(logFile,'a')
f.write(str(time.strftime("%Y-%m-%d %X",time.localtime()))+content+'\n')
67 def main():
'''入口方法'''
dailyUrls,detailUrl=checkUrl(url, False)
if dailyUrls:
#检查到daily链接,发送告警邮件
sendMail()
log('check: find daily url')
#没检查到daily链接,不处理
log('check: not find daily url')
#检查judetail
dailyUrls=checkUrl(detailUrl, True)
if dailyUrls:
#检查到daily链接,发送告警邮件
log('check: find daily url')
sendMail()
#没检查到daily链接,不处理
log('check: not find daily url')
91 if __name__ == '__main__':
阅读(...) 评论()}

我要回帖

更多关于 wsimport 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信