小python库和命令行工具,用于计算文本、文件和文件夹中的标准页数。有共同的标准页面方言,但是超级容易带来自己的定义。

page-counter的Python项目详细描述


你好!这是一个小的python库和命令行工具,用于计算 文本、文件和文件夹。带有通用的标准页面方言,但非常容易 定义自己的页面计数方法。

标准页是文本长度的主要良好单位,因为它不考虑任何 只格式化文本本身。它很有用,例如当你想知道你写了多少页 你会得到多少报酬。标准页面用于图书作者和出版商之间, 翻译和他们的客户,在报界和许多其他领域。

页面计数器可以用作名为page_counter的python库或易于使用的命令行工具 调用了page-counter

安装

安装程序将在您的计算机上同时使用库和命令行工具。页面计数器需要安装Python3。然后用标准的python方式安装

pip install page-counter

页面计数器作为python库

作为api的页面计数器有两个部分:PageCounter类和称为标准页面方言的函数,它们执行页面计数自身方言。

PageCounter()类只有一个必需参数:要分析的文本:

page_counter = PageCounter("There were froggies by the lake, "
                           "they were thinking what to make.")

第二个参数PageCounter`s是从文本中清除HTML标记的可选标志。这个 默认情况下是禁用的,但是如果您传递例如<p class="intro">sometext</p>,它将使用 sometext作为要分析的文本:

page_counter = PageCounter("<p class="verse">There were froggies by the lake, "
                           "they were thinking what to make.</p>", strip_html=True)

PageCounterinstance的直观方法只有四种:

  • chars_with_spaces()表示包含空格字符的字符数
  • chars_without_spaces()表示除空格字符以外的字符数
  • word_count()表示字数
  • page_count(dialect)表示使用指定的标准页方言计算文本的页数。

所有方法都返回整数。page_count()用内置方言调用永远不会返回零 页数-甚至一个单词或一个字母长的文本至少是一页。你的习惯方言 不一样。

标准页面方言

没有公认的标准页。你很容易遇到不同的方言 特定国家、公约或组织。PageCounter已经为这种变化做好了准备。作为一个 参数page_count()必须指定一些页面方言。方言论点可能是str 对于内置的方言,或者对于你自己的方言。

如果参数是str,则必须是内置方言名称。内置方言名称在 page_counter.dialect_names列表。例如:

number_of_pages = page_counter.page_count('cz_sk_1800_chars_space_savvy_standard_page')

或者您可以编写自己的可调用方言(即用于我们目的的函数),并将其传递给 page_count()。方言函数必须接受PageCounter实例。使用PageCounter 方法来计算页计数。简单方言函数示例:

def my_company_page_standard(page_counter):
  return page_counter.chars_with_spaces // 1500

number_of_pages = page_counter.page_count(my_company_page_standard)

如果您认为您的标准页面方言应该是内置方言,请考虑将其作为一个问题进行共享。 或者(更好)作为请求。

内置标准页面方言

目前,pagecounter包含以下内置页面方言。

  • cz_sk_1800_chars_standard_page-捷克语和斯洛伐克语标准页(normostrana)为每页1800个字符,包括空格。
  • cz_sk_1800_chars_space_savvy_standard_page-捷克语和斯洛伐克语标准页(normostrana)不包括多个空格,每页1800个字符。
  • uk_1000_words_standard_page-uk标准页为每页1000字。
  • eu_1500_chars_standard_page-许多欧盟国家使用的标准页是每页1500个字符,包括空格。
  • eu_1500_chars_space_savvy_standard_page-在许多欧盟国家使用的标准页是每页1500个字符,不包括多个空格。

页面计数器命令行工具

通过安装pagecounter,您还将获得方便的命令行工具page-counter用于页面计数 在单个文件或文件夹中检测。用法:

page-counter <dialect> <file>
page-counter <dialect> <folder> <file_extension>

例如,使用捷克标准页计算当前目录中readme.rst中的页 方言:

page-counter cz_sk_1800_standard_pages readme.rst

例如在中的所有*.txt或*.txt文件 ~/books/python-for-novices/

page-counter cz_sk_1800_standard_pages ~/books/python-for-novices/ txt

如果执行page-counter时不带参数或参数数无效,则会得到已知内置标准页方言的列表。

贡献

如果你有你想贡献的东西,最好的方法是发送一个格式良好的拉 请求,根据需要提供测试和文档。拉取请求应该集中:尝试 在一个请求中执行多个操作会增加处理的难度。

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

推荐PyPI第三方库


热门话题
java JavaFX:绑定未意外工作   java按顺序遍历两个二叉树,比较哪一个更大   maven如何避免多次加载librxtxSerial。所以在爪哇   google app engine如何在GAE java中为自定义用户数据库创建cookie?   java将内容添加到浮点数组的末尾,如下所示   令牌“+”上的java语法错误,AssignmentOperator无效   java LibGDX Sprite不同时使用“Rotate”和“setRotation”旋转   java字符串数组无需同步?   java如何将击键Z添加到按键(KeyEvent e)以将球跳跃/重新绘制到新的随机位置?(使用了KeyListener演示。)   java如何使用jnlp文件在控制面板的“添加或删除程序”中设置“版本”   java捕获两个异常,一个是另一个的超类   ant在更新到Java8之后,在JiBX绑定[bind]java期间出错。lang.IllegalStateException:加载类java时出错。lang.CharSequence   安卓缓冲区错误转换结果java时出错。朗努尔。。。和JSON ParserError解析数据组织。json。JSONException   java如何在Firebase中从实时数据库检索数据?   java将Jsch放入连接池的细节