本文目录一览:
- 1、Python的pyecharts中,render()路径的问题
- 2、怎么用python完成maya里的渲染设置
- 3、python使用Flask框架获取用户IP地址的方法
- 4、如何开始使用PyCharm,并拥有一个高效的Python IDE
- 5、python可视化神器——pyecharts库
Python的pyecharts中,render()路径的问题
可以的,只要把字符串拼接起来就行,可以使用
imgname='词云'
wordcloud.render(imgname+'.html')
来在根目录下生成"词云.html"文件
怎么用python完成maya里的渲染设置
如果是一个文件中的多个镜头,那么你可以在渲染设置的时候,添加多个摄像机
在渲染设置下面,有个选择渲染相机下拉框,打开下拉框,选择最后一个添加摄像机,这个时候就会多出来一个相机选项,然后再次选择添加摄像机,物体你场景中有4个摄像机,那么你只要在选择相机下拉框里面执行三次添加相机,然后就有4个相机选择,每个选择下拉框选择你需要渲染的相机就可以了,这个时候保存,然后批渲染,就可以同时渲染四个摄像机了
如果是多个文件,你只要在百度一下“maya BatchRender.bat“或者"maya render.bat”就能找到很多后期多个文件批渲染的mel,和相关教程,你可以试试看!
python使用Flask框架获取用户IP地址的方法
主要介绍了python使用Flask框架获取用户IP地址的方法,实例分析了Python使用Flask框架remote_addr获取IP的`技巧,非常具有实用价值,需要的朋友可以参考下。
下面的代码包含了html页面和python代码,非常详细,如果你正使用Flask,也可以学习一下最基本的Flask使用方法。
python代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
from flask import Flask, render_template, request
# Initialize the Flask application
app = Flask(__name__)
# Default route, print user's IP
@app.route('/')
def index():
ip = request.remote_addr
return render_template('index.html', user_ip=ip)
if __name__ == '__main__':
app.run(
host="0.0.0.0",
port=int("80")
)
html代码如下:
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
!DOCTYPE html
html lang="en"
head
link href="bootstrap/3.0.0/css/bootstrap.min.css"
rel="stylesheet"
/head
body
p class="container"
p class="header"
h3 class="text-muted"How To Get The IP Address Of The User/h3
/p
hr/
p
You IP address is: strong{{user_ip}}/strong
p class="header"
h3 class="text-muted"Code to retrieve the IP/h3
/p
hr/
pre
from flask import Flask, render_template, request
# Initialize the Flask application
app = Flask(__name__)
# Default route, print user's IP
@app.route('/')
def index():
ip = request.remote_addr
return render_template('index.html', user_ip=ip)
/pre
/p
/p
/body
/html
希望本文所述对大家的Python程序设计有所帮助。
如何开始使用PyCharm,并拥有一个高效的Python IDE
如何开始使用PyCharm,并拥有一个高效的Python IDE
编辑器与IDE之间的辩论正变得老旧和无聊,因为这是一个zero sum game(零和游戏或者叫零和博弈,表示所有博弈方的利益之和为零或一个常数,即一方有所得,其他方必有所失。)
我已经使用Emacs长达15年了,我使用它阅读我的邮件,浏览网页,制作咖啡(我们不能做所有的事情吗?)但是,今天我发现,通过在工作上使用合适的工具,能够变得更加高效。
强大的编辑器,如Emacs和Vim太棒了。我发现令人费解的是有些编辑器或IDE进行基本操作的时候,如搜索和替换非常笨重,而Vim的和Emacs操作起来恰到好处。
然而,搜索注入“将Vim作为一个Python IDE”或者“将Emacs作为一个Python
IDE”,都会返回成千上万的链接,这表明人们想要这样的一些功能,如智能完成,代码导航和项目支持等等。为了给你一点数据,我最热门的帖子之一就是如何配置Emacs作为一个Python
IDE,即使到今天已经过了三年。
PyCharm是最流行的Python
IDE之一,因为它具有强大的功能。在这篇文章中,我将展示如何开始使用PyCharm,并很快具备一个高效的Python开发环境。我使用Mac上的PyCharm3.0.2专业版(他们有一个开源版本以及)上。我使用的是大量修改了默认按键的键盘映射(也有Emacs和Vim键盘映射表)。我建议你参考官方的Mac和Windows/
Linux的默认快捷键。
初步使用
当您第一次启动PyCharm的时候,他会问你要使用的键盘布局和主题。我不喜欢它的Emacs键盘映射,所以我用的是默认的Mac OS X键盘映射并且自定义了我想要的快捷方式:
如果这是你第一次使用PyCharm,并没有什么配置可以导入的。你可能会想在欢迎屏幕中点击“配置”,设置一些基本的配置:
我喜欢显示出行号和方法分隔符(Editor→Appearance→Show method separators, Show line numbers):
另外,我喜欢Solarized主题。我遵循指示安装了它,并选择它作为编辑器的默认主题→颜色和字体。 浅色版的Solarized
IntelliJ有一些奇怪的颜色选择(例如,它采用灰色为默认的文本,而不是更清晰的黑色),所以我在编辑器上进行了修改→Colors
Fonts→General。我的建议是不要害怕修改颜色为你自己喜欢的。你可以导出你的配置,以防你需要重新安装PyCharm。
相比于别的一些IDE,我觉得PyCharm在视觉上的效果上非常干净,如果你想要一个更简洁的用户界面,您可以隐藏工具栏,工具按钮,导航栏和状态栏(在视图菜单上):
Virtualenv和Python解释器
您可以创建新的项目文件→File→New Project or open an existing project
withFile→Open Directory。
PyCharm支持多种类型的Python项目,如Django,Flask等等。在这里,我将创建一个简单的项目,以测试pyquery库(我会选择“Empty
project”)。
你需要告诉PyCharm你想用哪个Python解释器,因为它可以使用不同的解释器对于不同的项目。它将利用这些信息来索引的所有可用的库。一个好的做法是对于每个项目建立一个virtualenv。您可以使用一个已经存在的virtualenv或从PyCharm创建一个新的(Settings→Project
Interpreter→Python Interpreters)。
对于这个项目,我将创建一个新的virtualenv并使其用于所有的项目:
您可以快速搜索,阅读说明,并从PyCharm安装软件包。没有什么是你在在终端上不能做的,但它能够使你无需离开IDE,更加方便地够搜索包。
一些软件包可能需要安装一段时间,特别是如果他们需要进行编译。 PyCharm运行安装过程是在后台,你可以通过单击状态栏看到正在发生的事情:
正如我们所看到的,它不仅安装pyquery报,所依赖的包,如lxml也一并安装(正如我们所期望的):
快捷键
PyCharm是没有Vim的,但你也可以只靠键盘做很多事情。您可以将快捷方式设置到几十个(如果不是数百个)快捷动作在Settings→Keymap。我修改了相当多的默认键盘映射,因为我喜欢有像Control-a,
Control-e, Control-k,and
Control-y那样的快捷键,而这几个快捷键在默认情况下多用于文本框,并没有设置默认在“Mac OS
X”的键盘映射。您还可以定义鼠标快捷键。举例来说,我使用Option-Click来改变快速文档。如果你是一个Vim的用户,您可能希望尝试一下IdeaVim,一个Vim的仿真器插件。我听说过这个好东西,但我没有机会去尝试它。
我用的是Dvorak keyboard layout,但烦人的是,一但用到不对的快捷键就会有bug。有人反映了这个问题,French Canadian and German layouts也有这个问题。这意味着我必须重新绑定不少的快捷方式来避免这个问题。
PyCharm使用功能键,如F1和F2等很多。正如你可能知道的,在Mac上,顶部的按键多作为默认“多媒体”键,并通过按下Fn键的来生效。我们可以在System Preferences→Keyboard交换这种方式。
我希望能够控制音量和改变亮度,而不需要使用Fn键,但我也喜欢使用功能键,而无需触碰较远的Fn键(我很懒惰,我能说什么?)。我用Palua在“多媒体”和功能键之间切换。你可以用全局键切换,也可以配置Palua在使用特定应用程序时,自动切换。我为所有应用程序使用多媒体键的(默认值),并配置Palua为Xcode和PyCharm使用功能键。
外部编辑器
PyCharm可以启动任何外部工具,所以我将其配置用Emacs来打开当前文件。当你想要利用你喜欢的编辑器(Emacs,Vim,TextMate等等)做一些快速编辑,这非常有用。
进入Settings→External Tools,确保“Open console”未选中,将路径插入程序,参数(在这种情况下,我们可以用FilePath来得到完整的文件名)和工作目录(ProjectFileDir/ FileRelativeDir /)。
你可以把它分配给一个快捷方式:
现在它可以从菜单栏获得。
运行代码和REPL
PyCharm有很多方式来让我们运行代码。我们可以用古老的print 函数(或声明语句,这取决于你的Python版本),在REPL导入代码,发送代码到控制台,使用调试器,或在终端上使用IPython。
打印输出
使用打印来显示值是一个有用的并被广泛使用的技术,但是如果不小心使用的话,它可能会导致混乱的代码。
如果该文件已被选中运行,我们可以通过单击“play”按钮或Control-R来开始。
如果没有选择文件来运行,会从上下文菜单中选择一个文件,用Control-Option-R或右击来运行她。 PyCharm会记住你的选择,下一次你可以继续使用Control-R。这听起来很复杂,但它其实非常简单。检查手册,以便了解更多的信息。
控制台和REPL
我最喜欢的方法是在REPL运行代码。您可以在PyCharm的工具栏中打开一个Python控制台,Tools→Run Python
Console(我已经分配到Control-C)。它会使用IPython(如果可用)(我建议你在virtualenv内安装IPython),并将当前文件的路径添加到Python的路径。在控制台上,你可以像往常一样导入你要来执行的功能。
在控制台中补全功能仍然可用:
我们可以像平时一样正常使用已经导入的函数,并且可以利用⌘–4轻松切换控制台的可视性。
在控制台执行所选择的代码
如果我想运行的代码是多了几个单行,并没有编写正式的单元测试(例如,可能我玩的是数据)我可以将它保存在一个临时文件。我们可以选择我们想要运行的代码(通常我只需要利用⌘-A选择整个文件),并选择从上下文菜单中选择“Execute
Selection in Console”(或者,更好的方式,使用键盘快捷键)。 [我省略了一些菜单项中的截图以使文章短一些。
在下面的例子中,标题变量在控制台中可用,因为我们在控制台中选择整个临时文件来执行:
宏
如果我们可以在一个操作中发送整个文件到控制台,那就太好了。幸运的是,我们可以记录一个宏。选择Select
Edit→Macros→Start Macro Recording and performthe operations as
before(选择整个文件,发送到控制台,切换到控制台)。正如你所看到的,我的宏只有四个动作(我按向下箭头键取消选择):
当您录制的宏已经在宏菜单,你可以分配给它快捷方式(我使用Control-C Control-E,但由于某些原因PyCharm只显示两个快捷方式的一半)。
调试
很多人喜欢使用调试器来检查数据。即使我喜欢使用REPL,有时调试程序更有效,在检验复杂的对象时尤其如此。
PyCharm不允许你在一个空行设置一个断点,因此,在这短短的例子,我不得不添加一个额外的行(我使用print函数,但我本可以使用pass),因为我想要调试停止在设置的headlines变量后。在真正的代码中,很少有这个必要。
IPyhton
最后,利用IPython来运行外部终端并使用一些功能,比如%run和自动重载没有任何不妥。
搜寻命令
这很容易变得不知所措,因为有这么多的命令。如果您在Mac上使用PyCharm,你可以像往常一样使用Help→Search,或者您可以在任何平台上使用Help→Find
Action。它可以让你搜索任何PyCharm命令,包括不能从菜单中获得的。
(Emacs的使用者会注意到这有点类似于Emacs的M-X)。这是非常有用和强大的功能,我一直使用它。
代码补全
代码补全功能在PyCharm上是一流的。默认情况下PyCharm会在你输入的时候给出建议:
由于此功能可有点耗电,你可以通过选择File→Power Save Mode来禁用它。您仍然可以通过Control-Space显式使用这一功能。
在输入的时候,您可以通过键入一个子串来缩小建议列表:
或者,您可以键入CammelCaseClasses或function_names_with_underscores的第一个字母:
如果您键入Ctrl-Space一次,PyCharm将尝试列出最相关的项目:
如果你再次键入Control-Space,将列出它所知道的每一个名字。这可能是压倒性的,但要注意,它列出了没有导入的文件 bar.py中的函数name_of_mother。
但往往你只是想补全在打开的缓冲区中的一个局部变量的名称。很久以前可以在Emacs和Vim实现这一功能,二现在也可以在PyCharm上实现。手册将其称为Hippie
Completion,但实际的命令名称(即,你会发现在Find Action的那个名字)是“Cyclic Expand
Word”,并且在我的测试中,它甚至对文档字符串有效。
代码补全可能无法在某些情况下工作,比如当一个库没有类型提示。这个StackOverflow页面建议在PDB中设置断点并用dir列出所有可能的属性。一个类似的解决方案是在PyCharm创建断点,并执行一条表达式——通过在调试工具栏点击最后一个图标(或使用适当的键盘快捷键)。在这种情况下,我计算的表达式是“dir(r)”。
访问文档
PyCharm有三种方式可以访问文档:快速定义,快速文档,外部文档,以及参数信息。您可以从查看菜单或者从各自的快捷方式去访问它们。
快速定义将显示整个定义的符号(类,方法,功能等)的(废话!),当然也包括文档。如果你只是想快速浏览一下的定义,而跳跃到它是很有用的。
快速文档将显示符号的文档和签名。
最后,外部文档,以及参数信息是非常简单的。第一个在默认浏览器中打开文档,第二个给出了一个函数或方法(例如快速查询关键字参数的名称是很有用)参数信息。
外部文档工作外适用于Python(当然),PyQt4,PySide,GTK,WX,numpy,SciPy,和kivy,并且您可以为外部文档添加路径,在Settings→Python External Documentation中设置。
代码质量
当你在打字的时候,PyCharm会检查你的代码是否符合PEP8。它会让你知道,你是否有太多的空格或空行等等。如果你愿意,你可以配置PyCharm运行pylint作为外部工具。
在源代码找到自己的方式
当你掌握了它的导航命令时,PyCharm开始变得强大起来。它可以跳转到类,函数等等。在Mac上你可以利用⌘-B或者⌘-Click跳转到类,方法,函数,变量的定义,同样在Windows和Linux上使用 或Ctrl-B或者Ctrl-Click。
导航到类,文件或符号的机制几乎是一样的。在你输入一个字符串的时候,你将看到一个对话框,包括你当前项目以外的项目,同市匹配过滤的结果。转至导航菜单或使用相应的键盘快捷键:
这是一个类定义典型的对话框:
你可以输入名称的一部分,包括文件扩展名。举例来说,如果你想打开Django项目的一个JavaScript文件是,但又不记得它的名字,你可以搜索“.js”。
这些功能使我们能够非常快速地浏览源代码。假设我们正在研究Django的源代码,我们希望看到的是功能实现的过程。我们不知道它的定义,所以我们去Navigate→Symbo(⌥-⌘-O),输入“render”,并选择第一个选项(我们可以看到它在django.shortcuts定义)。如果我们隐藏了导航栏,我们可以使用Navigate→Jump到导航栏(⌘-↑),快速显示它并查看该文件定位(django→django→shortcuts.py):
有时在去掉你并不感兴趣的那部分东西之后,代码补全的效率会更高。在下面的例子中,我删除相关的JavaScript的结果,得到了一个更加简洁的列表:
PyCharm可以让你折叠块,如类,方法和函数,但你可以创建自己的可折叠的区域。当涉及到成组的一些东西时,就很有用(类,方法,函数等)。这些模块可以折叠的话,会使我们能够专注于代码的特定区域。你可以通过Navigate→Custom
Region或使用相应的键盘快捷键来显示列表文件中的所有区域。遗憾的是有没有办法在一个工程中列出所有区域。
单元测试
在我们可以运行测试文件之前,我们需要添加一个新的运行/调试配置。我们去Run→Edit Configurations,然后点击在左上角的加号按钮。然后,我们选择“Python tests”,开始测试。在这个例子中,我将使用单元测试:
最后,我们需要添加这些测试的文件夹,并选择正确的Python解释器:
现在就像我们运行代码一样,我们可以运行我们的测试:通过点击工具栏或者选择Run→Run(Control-⌥-R)。这将打开一个对话框,你可以在对话框中选择你想要运行的代码(你可以运行别的)。您可以进行所有测试或仅测试光标。
当你运行测试是,PyCharm会记住你最后的选择,这样你就可以利用Control-R来重复测试。这非常有用,如果你解决了一个特定的测试情况,并希望多次运行它,但不运行其他测试。你并不需要定位到你想要运行的测试文件;你可以从任意文件中运行测试。您可以通过选择Navigate→Test(或相应的热键)完成代码的测试。
处理多个文件
正如你看到的那样,PyCharm为每一个文件使用一个标签
要切换到标签,我们可以使用命令选择下一个标签或者选择上一个标签。默认快捷键是Control-→ 和Control-←,但OS X使用这些按键,让我重新绑定它们至Control-⌘-N
和Control-⌘-P(在终端我使用同样的快捷方式切换标签页)。
一个更直接的方法选定标签就是使用Navigate→File,或者View→Recent Files(⌘-E)和View→Recently
Changed
Files(⇧-⌘-E)。最后两个命令将显示文件,你可以通过输入子串来缩小选择范围。在下面的例子中,我只需要输入“⌘-E”,“S”,“ENTER”键进入scratch.py文件的标签:
多窗口
PyCharm支持多窗口,虽然不如Emacs中那么优秀,但也足够用了。
在默认情况下没有已分配的快捷方式来处理分割窗口,所以你必须自己做。这些是我用的快捷键:
垂直分割,Control-S
水平分割,Control-H
非剖分,Control-C Control-U
非剖分所有,Control-C Control-A
转到下一个分离器,Control -C Control -N
转到上一页分离器,Control -C Control -P
移动到相对组,Control -C Control –M
再有两个窗格的情况下拖动标签比较方便。
总结
PyCharm可以为我们做很多事情。我们看到了如何使用virtualenv,定义快捷键,使用外部编辑器,运行代码,定义宏,找到查找操作命令,可以高效地进行代码完成,访问文档,浏览源代码,运行单元测试,并处理多个文件和分割的窗口。
而这些只是表面文章。我们还没有谈论编辑,版本控制,插件,调试(本地和远程),模板,使用捆绑的TextMate,网络开发等等更多的功能。
我建议你检查PyCharm的官方文档,包括快速入门指南和在线帮助。此外,Andrew Brookins从Vim用户的角度写了一片很好的PyCharm评论。我推荐你去阅读一下,即使你不使用Vim。
python可视化神器——pyecharts库
无意中从今日头条中看到的一篇文章,可以生成简单的图表。据说一些大数据开发们也是经常用类似的图表库,毕竟有现成的,改造下就行,谁会去自己造轮子呢。
pyecharts是什么?
pyecharts 是一个用于生成 Echarts 图表的类库。Echarts 是百度开源的一个数据可视化 JS 库。用 Echarts 生成的图可视化效果非常棒, pyecharts 是为了与 Python 进行对接,方便在 Python 中直接使用数据生成图 。使用pyecharts可以生成独立的网页,也可以在flask、django中集成使用。
安装很简单:pip install pyecharts
如需使用 Jupyter Notebook 来展示图表,只需要调用自身实例即可,同时兼容 Python2 和 Python3 的 Jupyter Notebook 环境。所有图表均可正常显示,与浏览器一致的交互体验,简直不要太强大。
参考自pyecharts官方文档:
首先开始来绘制你的第一个图表
使用 Jupyter Notebook 来展示图表,只需要调用自身实例即可
add() 主要方法,用于添加图表的数据和设置各种配置项
render() 默认将会在根目录下生成一个 render.html 的文件,文件用浏览器打开。
使用主题
自 0.5.2+ 起,pyecharts 支持更换主体色系
使用 pyecharts-snapshot 插件
如果想直接将图片保存为 png, pdf, gif 格式的文件,可以使用 pyecharts-snapshot。使用该插件请确保你的系统上已经安装了 Nodejs 环境。
安装 phantomjs $ npm install -g phantomjs-prebuilt
安装 pyecharts-snapshot $ pip install pyecharts-snapshot
调用 render 方法 bar.render(path='snapshot.png') 文件结尾可以为 svg/jpeg/png/pdf/gif。请注意,svg 文件需要你在初始化 bar 的时候设置 renderer='svg'。
图形绘制过程
基本上所有的图表类型都是这样绘制的:
chart_name = Type() 初始化具体类型图表。
add() 添加数据及配置项。
render() 生成本地文件(html/svg/jpeg/png/pdf/gif)。
add() 数据一般为两个列表(长度一致)。如果你的数据是字典或者是带元组的字典。可利用 cast() 方法转换。
多次显示图表
从 v0.4.0+ 开始,pyecharts 重构了渲染的内部逻辑,改善效率。推荐使用以下方式显示多个图表。如果使是 Numpy 或者 Pandas,可以参考这个示例
当然你也可以采用更加酷炫的方式,使用 Jupyter Notebook 来展示图表,matplotlib 有的,pyecharts 也会有的
Note: 从 v0.1.9.2 版本开始,废弃 render_notebook() 方法,现已采用更加 pythonic 的做法。直接调用本身实例就可以了。
比如这样
还有这样
如果使用的是自定义类,直接调用自定义类示例即可
图表配置
图形初始化
通用配置项
xyAxis:平面直角坐标系中的 x、y 轴。(Line、Bar、Scatter、EffectScatter、Kline)
dataZoom:dataZoom 组件 用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。(Line、Bar、Scatter、EffectScatter、Kline、Boxplot)
legend:图例组件。图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。
label:图形上的文本标签,可用于说明图形的一些数据信息,比如值,名称等。
lineStyle:带线图形的线的风格选项(Line、Polar、Radar、Graph、Parallel)
grid3D:3D笛卡尔坐标系组配置项,适用于 3D 图形。(Bar3D, Line3D, Scatter3D)
axis3D:3D 笛卡尔坐标系 X,Y,Z 轴配置项,适用于 3D 图形。(Bar3D, Line3D, Scatter3D)
visualMap:是视觉映射组件,用于进行『视觉编码』,也就是将数据映射到视觉元素(视觉通道)
markLinemarkPoint:图形标记组件,用于标记指定的特殊数据,有标记线和标记点两种。(Bar、Line、Kline)
tooltip:提示框组件,用于移动或点击鼠标时弹出数据内容
toolbox:右侧实用工具箱
图表详细
Bar(柱状图/条形图)
Bar3D(3D 柱状图)
Boxplot(箱形图)
EffectScatter(带有涟漪特效动画的散点图)
Funnel(漏斗图)
Gauge(仪表盘)
Geo(地理坐标系)
GeoLines(地理坐标系线图)
Graph(关系图)
HeatMap(热力图)
Kline/Candlestick(K线图)
Line(折线/面积图)
Line3D(3D 折线图)
Liquid(水球图)
Map(地图)
Parallel(平行坐标系)
Pie(饼图)
Polar(极坐标系)
Radar(雷达图)
Sankey(桑基图)
Scatter(散点图)
Scatter3D(3D 散点图)
ThemeRiver(主题河流图)
TreeMap(矩形树图)
WordCloud(词云图)
用户自定义
Grid 类:并行显示多张图
Overlap 类:结合不同类型图表叠加画在同张图上
Page 类:同一网页按顺序展示多图
Timeline 类:提供时间线轮播多张图
统一风格
注:pyecharts v0.3.2以后,pyecharts 将不再自带地图 js 文件。如用户需要用到地图图表,可自行安装对应的地图文件包。
地图文件被分成了三个 Python 包,分别为:
全球国家地图:
echarts-countries-pypkg
中国省级地图:
echarts-china-provinces-pypkg
中国市级地图:
echarts-china-cities-pypkg
直接使用python的pip安装
但是这里大家一定要注意,安装完地图包以后一定要重启jupyter notebook,不然是无法显示地图的。
显示如下:
总得来说,这是一个非常强大的可视化库,既可以集成在flask、Django开发中,也可以在做数据分析的时候单独使用,实在是居家旅行的必备神器啊