多特蒙德大学物理实验室课程的小工具箱。

praktip的Python项目详细描述


实践

pypipypi-python versionpypi-wheelpypi-licenserequires.io

Praktipy最初是为多特蒙德物理实验室课程设计的一个小工具箱。

它包含用于从文本文件生成乳胶表的工具 以及生成拟合曲线图的函数。 这些python文件将使您在处理可读文件时更轻松 多特蒙德Physik Praktikum的桌子(希望如此)。

目录

先决条件

  • python>;=3.6带pip(其他版本未测试)
  • 一些python 3包,将由安装脚本安装
  • 乳胶

安装

# Via pip (preferred)
$ pip install praktipy

# or manually
$ git clone https://github.com/The-Ludwig/praktipy.git
$ python3 setup.py install

"但我不想安装整个程序"

如果您不想在计算机上安装整个软件包,可以直接下载相关文件:

  • 表格处理: praktipy/tablehandler.py。只需将文件放入当前使用的目录,并使用"import tablehandler as th"导入它即可
  • 绘图:以类似的方式使用praktiplot.py。

处理表格

如果已安装模块,请使用

importpraktipy.tablehandlerasth

如果您刚刚下载了文件

importtablehandlerasth

用文本文件生成表格

praktipy使用二维标准python列表来表示其列表。 它能把它们产生出来人类可读的文本文件(来自TXT的th.gen_)。这看起来与numpy.genfromtxt非常相似,但是尽管它的效率要低得多,但它的功能要强大得多。 我不建议它解析非常大的文件(使用numpy.genfromtxt),但是每个人类可读的表都应该是好的。(有关详细信息,请参见基准笔记本)

为什么来自TXT的Gen_是有用的:

  • 表中可以有"无"值。(孔)
  • 您可以在您的表中包含ufloats。(写为"42.14+-6.5")
  • 您的表中可以有字符串
  • 你可以把桌子写得很形象。(gen_from_txt(filename,explicit_none=false))
  • 可以显式地编写表。(gen_from_txt(filename,explicit_none=true))
table=th.gen_from_txt("./path/to/table")# Look what the parser has parsedprint(table)

源代码docstrings和/examples目录中的详细信息。

生成tex表

一旦你有了一个二维python列表(实际上它可以是任何二维iterable),你就可以很容易地用它制作一个漂亮的.tex表。

为什么gen_tex_table是有用的:

  • 您可以直接输入生成的文件。
  • 您可以自动将表拆分为子表
  • 您可以设置乳胶标签和标题。
  • 您可以设置每列或全局的精度。
# It is that quick.th.gen_tex_table(table,"/path/to/output/tex/file",tex_caption="Put your laTeX caption here",tex_label="Put your laTex label here",subtables=2,precision=["2.3",3,"1.9"],midrule=2)

源代码docstrings和示例目录中的更多详细信息。

操作表格

您可以使用所有已知的python列表函数来操作表。上面提供了一些使您的生活更轻松的功能。

使用matplotlib

praktipy将尝试设置matplotlib后端,以便能够打印漂亮的(德语数字格式和漂亮的数学字体)绘图。如果您想自己设置matplotlib,只需在从praktipy导入任何内容之前进行设置。

默认情况下,praktipy将尝试使用更快的乳胶设置,因此您的python脚本不会花费太长时间来完成。如果您缩进以生成漂亮的绘图,并且有一点时间,则可以使用此功能

pplot.pretty()

如果您不想再回到快速版本:

pplot.fast()

重要提示:praktipy会将其设置为默认样式文件。如果您有一个现有的matplotlibrc文件,请确保将它们合并在一起。除了乳胶支持之外,还必须设置axes.formatter.use_locale:true,以便使用基于系统区域设置的十进制分隔符(例如,而不是德语的

Praktipy还提供了一些方便的功能, 例如,在拟合函数的上下页生成良好的数据点。

通配符导入

一般来说,您应该只导入python中需要的内容。但不是没有它是相当方便的,只要导入你需要的一切,并看到一些代码完成的东西,你通常需要的实习。 praktipy提供了通配符导入:

frompraktipyimport*

这将为你带来实习所需的一切。

文档

当前的代码没有很好的文档化(尽管tablehandler.py本身提供了很好的docstring)。 您可以在示例目录中找到一些示例。

旧版本

如果你已经用praktipy的旧版本(2.0之前)编写一些代码,它非常 很可能这对新版本不起作用。

我把praktipy的整个代码风格改得更像pythonic。

但不要害怕!有一个简单的技巧可以在新版本中访问旧版本的praktipy fro。每当你用praktipy写了一些东西,比如

frompraktipyimport*

用praktipy.legacy替换praktipy

# Via pip (preferred)
$ pip install praktipy

# or manually
$ git clone https://github.com/The-Ludwig/praktipy.git
$ python3 setup.py install
0

您的代码将正常工作。

谢谢

非常感谢pep et al.为他们提供的工具箱工作坊和材料。我基本上偷了他们的matplotlib-tex头!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java ParsePushReceiver参数   java如何从设备读取完整数据?   java将java_设置为home,但忽略错误   java如何从歌曲中对专辑进行排序?   java libnaude+windows 10 x64+Eclipse   java如何将maven目标更改为如图所示的想法中的quickicon?   java swing布局中心面板,可滚动显示多个窗口窗格   使用MOSQUITO代理的mqtt中的java SSL   java如何通过属性值获取XML字符串   java在服务器每次启动时停止GWT编译   java如何让javac搜索类路径的子目录?   可以比较java中的两个不同类吗?   JAVAAndroid活动内部类中的lang.NoClassDefFoundError   java HttpServletRequest获取请求头参数块   C++socket与java客户端的连接   java如何在Apache commons http客户端上使用SSL客户端证书   使用预编译正则表达式模式提高java速度   JavaRhino将两个已编译脚本合并为一个脚本