python 图形化界面图形界面开发有免费的吗,有人对这方面比较了解吗?

Python中级开发教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
Python中级开发教程
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
下载文档到电脑,查找使用更方便
还剩36页未读,继续阅读
你可能喜欢请问,如果想用python写一个爬虫程序,应该先了解什么内容呢?有没有资料或者书籍可以推荐的?谢谢_百度知道
请问,如果想用python写一个爬虫程序,应该先了解什么内容呢?有没有资料或者书籍可以推荐的?谢谢
我刚学python没多久,请多指教
提问者采纳
相关的模块http.zhihu://www这个要对http比较了解然后就是python.zhihu://www
提问者评价
来自:求助得到的回答
其他类似问题
为您推荐:
爬虫程序的相关知识
其他1条回答
你需要安装 scrapy
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Desktop Help 10.0 - 通过 Python 使用工具
每个地理处理工具都具有一组固定的参数,这些参数为工具提供执行所需的信息。工具通常具有定义一个或多个数据集的输入参数,这些数据集一般用于生成新的输出数据。参数具有几个重要属性:
每个工具参数都具有一个唯一名称。
所需数据的类型,如要素类、整型、字符串或栅格。
该参数定义是输入值还是输出值。
表示必须为参数提供值还是参数为可选。
在脚本中使用工具时,必须正确设置工具的参数值,以便在运行脚本时工具可以执行。每个工具的文档都明确定义了其参数和属性。提供一组有效的参数值后,工具即准备好执行。
参数将被指定为字符串或对象。字符串是唯一标识参数值的简单文本,如数据集的路径或关键字。
大多数工具参数都可以简单字符串的形式指定。对于某些参数(如空间参考),可使用对象,而不是字符串。在下面的代码示例中,为工具定义了输入和输出参数。请注意,工具名称始终附加其工具箱的别名。在该示例中,两个字符串变量用于定义输入和输出参数,以便对工具的调用更容易阅读。
import arcpy
roads = "c:/St_Johns/data.gdb/roads"
output = "c:/St_Johns/data.gdb/roads_Buffer"
# Run Buffer using the variables set above and pass the remaining parameters
in as strings
arcpy.Buffer_analysis(roads, output, "distance", "FULL", "ROUND", "NONE")
在下面的代码示例中, 工具使用其可选“坐标系”参数的空间参考对象执行。空间参考对象使用
类创建,其信息从投影文件中加载。
import arcpy
inputWorkspace = "c:/temp"
outputName =
"rivers.shp"
# Create a spatial reference object
spatialRef = arcpy.SpatialReference()
# Use a projection file to define the spatial reference's properties
spatialRef.createFromFile("c:/program files/arcgis/Desktop10.0/Coordinate Systems/" + \
"Projected Coordinate Systems/Continental/North America/North America Equidistant Conic.prj")
# Run CreateFeatureclass using the spatial reference object
arcpy.CreateFeatureclass_management(inputWorkspace, outputName,
"POLYLINE", "", "", "", spatialRef)
工具组织地理处理工具以两种不同的方法进行组织。所有工具均以 ArcPy 中的函数的形式提供,但也可以通过匹配工具箱别名的模块调用。尽管帮助中的大多数示例将组织的工具显示为 ArcPy 提供的函数,但两种方法同样有效。使用哪一种方法取决于个人喜好和编码习惯。在下面的示例中,使用两种方法显示
import arcpy
inFeatures = "c:/temp/rivers.shp"
# Tools can be accessed as functions on the arcpy module, and
from modules matching the toolbox name.
arcpy.GetCount_management(inFeatures)
arcpy.management.GetCount(inFeatures)
通过模块使用工具时,您有时可能要注意标识模块的方式,以便脚本具有更好的可读性。在这种情况下,可以使用 from - import - as 的形式。
# Clean up street centerlines that were digitized without having set
proper snapping environments
import arcpy
from arcpy import edit as EDIT
from arcpy import management as DM
streets = "c:/data/streets.gdb/majorrds"
streetsCopy = "c:/output/Output.gdb/streetsBackup"
DM.CopyFeatures(streets, streetsBackup)
EDIT.TrimLine(streets, "10 Feet", "KEEP_SHORT")
EDIT.ExtendLine(streets, "15 Feet", "EXTENSION")
为适应“地图代数”,“空间分析”工具的处理方式有所不同,这些工具只能通过 arcpy.sa 模块调用,而不以 ArcPy 函数的形式提供。
从工具获取结果当作为结果对象执行时,ArcPy 会返回工具的输出值。结果对象的优点是可以保留工具执行的相关信息,包括消息、参数和输出。即使在运行了多个其他工具后仍可保留这些结果。 下面的示例说明了如何在执行地理处理工具后获取结果对象的输出。
import arcpy
arcpy.env.workspace = "D:/St_Johns/data.gdb"
# Geoprocessing tools return a result object of the derived
output dataset.
result = arcpy.CopyFeatures_management("roads", "urban_roads")
# A print statement will display the string
representation of the output.
print result
# To get the output value, the result object has a getOutput method
resultValue = result.getOutput(0)
结果对象的 getOutput 方法会返回一个 Unicode 字符串,来表示含有输出值的结果对象。当运行诸如 GetCount(提供表中的记录数)或 CalculateDefaultClusterTolerance(提供拓扑容差值)之类的工具时,需要重点考虑这一点。要将值转换为所需类型,需要使用内置 Python 函数(如 int() 或 float())从 Unicode 字符串进行转换。
import arcpy
from arcpy import env
import types
env.workspace = "c:/St_Johns/data.gdb"
# Many geoprocessing tools return a result object of the derived
output dataset. A print statement will display the string
representation of the output.
result = arcpy.GetCount_management("roads")
resultValue = result.getOutput(0)
# The result object's getOutput method returns values as a
unicode string.
To convert to a different Python type, use
built-in Python functions: str(), int(), long(), float()
count = int(resultValue)
print count
print types.TypeType(count)
结果属性和方法
属性和方法
inputCount
返回输入数目。
outputCount
返回输出数目。
messageCount
返回消息数目。
maxSeverity
返回最大严重性。返回的严重性可以为 0(未产生错误/警告)、1(产生了警告)或 2(产生了错误)。
返回唯一结果 ID。如果工具不是地理处理服务,resultID 将返回 ""。
返回服务器上作业的状态。 0 - 新建 1 - 提交 2 - 正在等待 3 - 正在执行 4 - 成功 5 - 失败 6 - 超时 7 - 正在取消 8 - 取消 9 - 正在删除 10 - 删除
取消服务器上的作业。
getInput(index)
返回给定的输入。如果给定输出是记录集或栅格数据对象,则返回 RecordSet 或 RasterData 对象。
getMapImageURL(ParameterList, Height, Width, Resolution)
获取给定输出的地图服务影像。
getMessage(index)
返回特定消息。
getMessages(severity)
要返回的消息类型。0 = 消息,1 = 警告,2 = 错误。如果未指定值,则返回所有消息类型。
getOutput(index)
返回给定的输出。如果给定输出是记录集或栅格数据对象,则返回 RecordSet 或 RasterData 对象。
getSeverity(index)
返回特定消息的严重性。
结果属性和方法从服务器工具获取结果与其他地理处理工具类似,地理处理服务器工具有一组固定的参数,这些参数为工具提供执行所需的信息。在脚本中使用异步服务器工具时,可通过结果的 getOutput 方法检索输出。 提示: 函数可用于确定工具是同步运行还是异步运行。当工具为同步运行时,结果会自动返回,但在工具运行结束前不能执行任何其他操作。在下面的示例中,GetParameterValue 函数用于从服务器工具获取 FeatureSet 对象。此 FeatureSet 对象包含工具输入参数的模式。该 FeatureSet 对象随后通过要素类加载,而服务器工具则在服务器上执行。脚本以使用结果对象的 getOutput 方法获取工具的输出而结束,然后使用 FeatureSet 的保存方法将输出保存在本地。
import arcpy
import time
# Add a toolbox from a server
arcpy.ImportToolbox("http://flame7/arcgis/GP/BufferByVal", "mytools")
# Use GetParameterValue to get a featureset object with the default
schema of the first parameter of the tool 'bufferpoints'
inFeatureSet = arcpy.GetParameterValue("bufferpoints", 0)
# Load a shapefile into the featureset
inFeatureSet.load("c:/base/roads.shp")
# Run a server tool named BufferPoints with featureset created above
result = arcpy.BufferPoints_mytools(inFeatureSet, "5 feet")
# Check the status of the result object every 0.2 seconds until it has a value
of 4 (succeeded) or greater
while result.status & 4:
time.sleep(0.2)
# Get the output FeatureSet back from the server and save to a local geodatabase
outFeatSet = result.getOutput(0)
outFeatSet.save("c:/temp/base.gdb/towers_buffer")
从服务器工具获取栅格数据结果栅格数据结果以标记图像文件格式 (TIFF) 的形式返回。默认情况下,使用 getOutput 时,TIFF 被写入到系统的 TEMP 文件夹。要控制 TIFF 的位置,请将 scratchWorkspace 环境设置为一个文件夹。
import arcpy
import time
# Set the scratchworkspace to a folder.
arcpy.env.scratchWorkspace = "c:/temp/rasteroutput"
# Add a toolbox from a server
arcpy.ImportToolbox("http://flame7/arcgis/SlopeByVal", "mytools")
dem = "c:/dems/k_ne_g"
# Run a server tool named RunSlope
result = arcpy.RunSlope_mytools(dem)
# Check the status of the result object every 0.2 seconds until it has a value
of 4 (succeeded) or greater
while result.status & 4:
print result.status
time.sleep(0.2)
# Raster output will be written to the scratchworkspace
outTIFF = result.getOutput(0)
获取地图影像地理处理服务可包含结果地图服务,以创建任务结果的数字地图图像。数字地图包含向用户传达信息的地理数据集的直观表示。数字地图以图像形式(如 .jpeg)通过 Web 进行传输。与要素类中的原始要素相比,字节组成的地图图像中包含的信息更易于为人类所理解。地图图像也是易于管理的 - 可轻松地将其压缩,将其分成易于管理的块,并且已建立在 Web 上传输和查看图像的方法。地图图像由 ArcGIS Server 地图服务创建,通过发布 ArcMap 文档 (.mxd) 而生成。鉴于地图图像的上述特征,您最好为地理处理任务的结果创建一个地图图像,然后在 Web 上传输该图像,而不是传输一个或多个结果数据集。地理处理服务可包含由 ArcGIS Server 使用的结果地图服务,以创建输出数据的地图图像。
import arcpy
import time
import urllib
# Add a toolbox from a server
arcpy.ImportToolbox("http://flame7/arcgis/GP/BufferByVal", "mytools")
# Use GetParameterValue to get a featureset object with the default schema of the
first parameter of the tool 'bufferpoints'
inFeatureSet = arcpy.GetParameterValue("bufferpoints", 0)
# Load a shapefile into the featureset
inFeatureSet.load("c:/base/roads.shp")
# Run a server tool named BufferPoints with featureset created above
result = arcpy.BufferPoints_mytools(inFeatureSet, "5 feet")
# Check the status of the result object every 0.2 seconds until it has a value
of 4 (succeeded) or greater
while result.status & 4:
time.sleep(0.2)
print result.status
# Return a map service
mapimage = result.getMapImageURL(0)
# Use Python's urllib module's urlretrieve method to copy the image locally
urllib.urlretrieve(mapimage, "c:/base/road_buffer.jpg")如何面试Python后端工程师?
按投票排序
更新:讨论区挺热闹,有人说好简单,有人说好难,其实我觉得这只适合面试2~3年工作经验的后端工程师。真的没有问很难的题目,只是可能你平时没有注意。在这里我推荐几本书吧python参考手册,绝对让你更上一层楼图解密码技术,密码入门不二之选mysql技术内幕第五版,有点厚当手册读读,要有耐心,高性能mysql也强烈建议读读effective tcp/ip programming为什么评论区有这么大差异?我想是个人经历不一样吧,如果是搞web的对操作系统这块和密码技术会偏弱,但如果是系统工程师或是游戏服务端这块会明显偏强。吃午饭的时候我就一直在想这个问题,我觉得重点不是Python而是后端工程师,因为Python只是系统的一部分,linux基础操作要熟吧,sql要懂吧,消息队列要知道吧,git要熟悉吧......木桶理论,每一环都不能落下,精通其中一两环就更好了。基础功扎实,新东西学得快,代码写得溜,命令敲得顺,bug解的好,妈妈再也不用担心我天天加班了~~~一.语言 1.推荐一本看过最好的python书籍? 拉开话题好扯淡 2.谈谈python的装饰器,迭代器,yield? 3.标准库线程安全的队列是哪一个?不安全的是哪一个?logging是线程安全的吗? 4.python适合的场景有哪些?当遇到计算密集型任务怎么办? 5.python高并发解决方案?我希望听到twisted-&tornado-&gevent,能扯到golang,erlang更好二.操作系统 可以直接认为是linux,毕竟搞后端的多数是和linux打交道。 1.tcp/udp的区别?tcp粘包是怎么回事,如何处理?udp有粘包吗? 2.time_wait是什么情况?出现过多的close_wait可能是什么原因? 3.epoll,select的区别?边缘触发,水平触发区别?三.存储 存储可能包含rdbms,nosql以及缓存等,我以mysql,redis举例 mysql相关 1.谈谈mysql字符集和排序规则? 2.varchar与char的区别是什么?大小限制?utf8字符集下varchar最多能存多少个字符 3.primary key和unique的区别? 4.外键有什么用,是否该用外键?外键一定需要索引吗? 5.myisam与innodb的区别?innodb的两阶段锁定协议是什么情况? 6.索引有什么用,大致原理是什么?设计索引有什么注意点? redis相关 1.什么场景用redis,为什么mysql不适合? 2.谈谈redis的事务?用事务模拟原子+1操作?原子操作还有其它解决方案吗? 3.redis内存满了会怎么样?四.安全 web安全相关 1.sql注入是怎么产生的,如何防止? 2.xss如何预防?htmlescape后能否避免xss? 3.csrf是什么?django是如何防范的? 密码技术 1.什么是分组加密?加密模式有哪些?ecb和cbc模式有什么区别?为什么需要iv向量? 2.简单说说https的过程? 3.对称加密与非对称加密区别? 3.如何生成共享秘钥? 如何防范中间人攻击?五.杂 是否关注新技术啊?golang,rust是否了解?numpy,pandas是啥鸟? 是否紧跟时代潮流?逛不逛微博,刷不刷知乎? 可能你觉得我问的好细,但这好多都是平常经常遇到,并需要解决的,细节更能体现一个人。如果你觉得小kiss,欢迎投简历给我,龙图游戏运营支持中心数据分析部招人;觉得有点问题,那还等什么,赶快来和我交流交流。
1, 计算机基础知识。包括:操作系统相关的,进程间通信,协议的本质(结合计算机网络等)2, 个人对编程的兴趣/学习能力,或者更进一步说,对问题的解决能力。从做过的项目,写过的博客,开源项目等来看,当然更能看出来对问题的了解深度和实际代码能力3, 性格/责任意识。可以从做过的项目担任的角色以及言行来看
个人认为,所有开发相关的面试,都应该包括 上面这些,基本能看出来一个人的真实水平和靠谱程度。至于楼上说的那些具体技能点,我倒觉得不用太在意。
1 个人感觉做题这种事情少做点。。或者参考的比重不用那么高2 问问题的话,应该先问他的经历,然后拓展这他接触过的知识点来问3 对于一些现在项目或者以后经常用的技术,问问面试时间太短,还是以交流为主,毕竟招人不仅仅是技术呀
语言, gil/mro/metaclass/descriptor/corountin 变着法子问吧,闭包和装饰器可以一块问,当然也可以结合项目经验,如果做过后端api的,几乎没有不用到decorator的吧,说说staticmethod和装饰器的区别啊,写一个bottle绑定 url path的 decorator 或者口述一下原理,等等,这个基础并不一定要对方完全覆盖,但如果都答不上来肯定不行。系统,对linux有多了解,做服务端开发,poll/select 得知道吧,负载均衡的几种算法要听过把。通信协议,tcpip http 等等,具体问题比如restfull 风格的api怎么写,网页嵌入的im原理等工程思维,大局观,个人追求。这个结合对方实际经验来问,问的越犀利越好。抓住项目中的critical point,候选人担任了什么角色,如何去解决,等等。另外
我公司招python程序员,坐标北京三里屯,想来的小伙伴可以私信我
问他认识我不
解释一下 WSGI 和 FastCGI 的关系解释一下 Gevent 和 threading / multiprocessing 的关系解释一下 cookie 和 session 的关系,以及 xsrf 的攻击和防范方法解释一下 Django 和 Tornado 的关系、差别考考数据库知识,SQL 语法和调优,SQLAlchemy 的用法
- “你觉得Python4的语法会和Python3一致吗?”- “不觉得”- “明天来上班吧”====
更新 ====上面是某次饭后消遣的段子,意在讽刺官方的Python2-&3对于用户并没有实质提升的升级,反而带来无数麻烦。 如何面试XX,这取决于你提供给的岗位对于人员的要求,Web,数据库,系统,网络,测试均会或多或少的涉及。你想刨除这些领域相关的问题来一些客观的Python干货?Google 搜索 Python Should Know 会得到很多有用的文章(,),作为考题也是不错的选择。Python最忌像一般C系的语言对待,它有许多idioms,不知道或者不了解他们最直接的坏处是复杂度和维护度的提升。当然这些都是软问题,因为都是一交就会的东西(在基本素质够硬的条件下,这就不展开了)。面试最核心的是你觉得你们在业界福利水平能够吸引到怎样的一群人,然后画一条线(出一套和工作内容紧密相关的面试题目)圈出自己想要的人才。如果能力有限吸引不到足够素质优秀的人才,不妨降低难度,选择具有潜力可挖的同学来。当然,这又属于另外一个话题了。所以这是我抖得另外一个关于“面试”的机灵。
我有另外一个思路,就是不问具体python里面的问题。尤其是一些很深的问题,因为可能大部分的项目不设计优化语言本身,甚至高级技巧也是很难碰到的,而是让其快速解决具体问题。因为用到python做开发就是注重开发快迭代快上手容易的特性(如果你用django当我没说)所以面试就是解决具体问题:我参加过一个面试当时面试官直接让我写一个爬虫爬某网站,我觉得这样考还挺不错的。类似的问题包括处理日志,配置一些自动化运维的场景,写自动化测试,做个短链接服务等等。。。python程序员我自己感觉涉猎要非常广,基本思路就是实际的问题-》解决方案(用到哪些工具,什么场景用什么)-》验证/测试/自动化如果是我来面的话我可能还会问一些编程基础的,数据结构的使用方法,rush condition的处理方法,scale的方向,思路等等。。。毕竟写得快是一方面,写出来的东西能用是另外一方面。如果解决问题迅速,写的快,给的实际问题都能很快找到解哪怕是方向的话,那基本上我会觉得这个面试人解决问题的态度和能力都比较强,可以进一步考察~
『github id?』
作为一个写python时间不长但是又一直帮公司面试python后端的人来说,我会问一些简单的问题。1)怎么写?implementation是最廉价的,随便请一个高中生都能给你写两行,可是是不是pythonic?2) Decarator3) Yield/Generator4) GC5) 你丫写过最好的一段代码6)你丫桶过最大的篓子7)这个也是最重要的,除了python你还会别的么... 我接触过很多号称写了五年python的人,其他东西一概不会,这种人我一般不敢要...8)碰到过bottleneck么? 怎么解决?
已有帐号?
无法登录?
社交帐号登录对 Python 不是非常熟悉的人,想写一个基于 Python 的专题搜索引擎,需要了解哪方面的东西?
按投票排序
Python简单易懂,如果你有其他语言的编程经验,那么Python上手很容易的。 具体可以参考的Python书籍在:从零开始实现一整套的搜索引擎很困难,而且Python的性能效率也是一个问题。但是基于现有的一些开源框架去做就容易了很多,这一阵子我在参与实现一个用Python封装的搜索引擎,包括建立索引以及查询两部分,地址在:。虽然有很多地方还不完善,但是我在这方面也有了一点经验,所以我简单谈几点可能需要了解的东西。中文分词系统SCWS。最开始尝试过Python写的smallseg,但是感觉分词的准确度一般,后来去尝试传说中很强大的中科院的分词系统,官方没有提供Python的支持,DIY了一下但是在Linux64位机上尝试了几种方案都没成功。最后选择了用C写的SCWS这个分词系统,可以用Python调用、自定义停用词和词典、划分词性等,用起来感觉很好。搜索引擎框架Xapian。它虽然是用C++写的,但是也提供了Python的绑定,也就是可以通过Python来操作。Xapian的缺点是文档太少了,有些时候你甚至可能需要去看它的源代码才行,但是性能什么的绝对没的说。以上两个项目都不是用Python所写,但是却可以用Python去操作去实现,这也是Python作为“胶水语言”的强大优势。有了它们作为基础相信你就可以实现一个简单的中文搜索引擎了,然而这里面还有两个问题需要解决:要搜索的数据从哪来?搜索到的数据如何展现?数据的来源方面,如果要抓取网页的话,Python的爬虫框架Scrapy是一个不错的选择,这个框架层次清晰,功能很全同时也容易扩展。数据的展现方面,Python的Web框架众多,web.py和flask都比较简单易学。以上就是我的一点经验,希望能对你有帮助。
问下那个 scraby框架里面包含 链接池和抓取调度的实现吗??
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 python3图形界面开发 的文章

 

随机推荐