小编erv*_*gsb的帖子

如何在zsh中填充数字变量(也许还​​有bash?)

在zsh中,当我必须使用zsh创建一堆文件时,我通常会执行以下操作:

for x in $(seq 1 1000); do .....; done
Run Code Online (Sandbox Code Playgroud)

这工作得很好,它给我的文件与名foo-1.txt.. foo-1000.txt.
但是,这些文件不排序很好,所以我想零垫的$x变量,从而产生的名称foo-0001.txt.. foo-1000.txt.

如何在zsh中这样做?(和奖金问题,如何在bash中做到这一点?)

linux bash zsh zero-pad seq

18
推荐指数
4
解决办法
2984
查看次数

如何使用依赖项分发"静态编译"的Python应用程序

我有一个基于Python的应用程序.我想将此应用程序分发给不同操作系统(主要是Linux,但各种发行版)的用户.

这样做的推荐方法是什么?我不希望用户必须安装Python.我想应用程序(这是免费软件)分发Python .有点像一个静态编译的程序.

因此,整个应用程序的安装只是解压缩文件夹中的某些文件,然后Python(和使用的模块)和应用程序都包含在此文件夹(包括子文件夹)中.

其他人如何分发他们的Python程序?

如果用户自己安装Python或升级现有的python,则要求应用程序不会中断.这就是我需要将Python的副本与应用程序一起分发的原因.

python software-distribution

8
推荐指数
1
解决办法
2588
查看次数

如何根据Python中的正则表达式规则对字符串进行分类/分类

我正在用Python编写一个ETL脚本,用于获取CSV文件中的数据,验证和清理数据,以及根据某些规则对每一行进行分类或分类,最后将其加载到postgresql数据库中.

数据看起来像这样(简化):

ColA, ColB, Timestamp, Timestamp, Journaltext, AmountA, AmountB

每行都是金融交易.我想要做的是根据一些规则对交易进行分类或分类.规则基本上是与Journaltext列中的文本匹配的正则表达式.

所以我想做的是这样的:

transactions = []
for row in rows:
    t = Transaction(category=classify(row.journaltext))
    transactions.append(t)

我不确定如何有效地编写classify()函数.

这就是分类规则的工作原理:

  • 有许多类别(更多可以并将在以后添加)
  • 每个类别都有一组子字符串或正则表达式,如果事务的Journaltext与此表达式匹配或包含此子字符串,则此事务属于此类别.
  • 交易只能在一个类别上
  • 如果一个类别FOO具有子串'foo'和'Foo',而另一个类别BAR具有子串'足球',那么具有Journaltext ='food'的交易必须放在类别FOO中,因为它只匹配FOO,但是使用Journaltext ='footballs'的交易必须放在BAR类别中.我认为这意味着我必须在每个类别上加优先权或类似优先权.
  • 如果事务与任何表达式都不匹配,则它在类别中为None,或者将放在名为"UNKNOWN"或类似的占位符类别中.这无关紧要.

好.那么如何在Python中表示这些类别和相应的规则呢?

我非常感谢你的意见.即使你无法提供完整的解决方案.任何暗示我朝着正确方向发展的事情都会很棒.谢谢.

python regex etl classification data-warehouse

6
推荐指数
1
解决办法
3245
查看次数

即使具体包含,cx-freeze也无法包含模块

我正在尝试使用cx-freeze来创建我的应用程序的静态自包含分发(The Spye Python Engine,www.spye.dk),但是,当我运行cx-freeze时,它说:

Missing modules:
? _md5 imported from hashlib
? _scproxy imported from urllib
? _sha imported from hashlib
? _sha256 imported from hashlib
? _sha512 imported from hashlib
? _subprocess imported from subprocess
? configparser imported from apport.fileutils
? usercustomize imported from site
Run Code Online (Sandbox Code Playgroud)

这是我的setup.py:

#!/usr/bin/env python
from cx_Freeze import setup, Executable

includes = ["hashlib", "urllib", "subprocess", "fileutils", "site"]
includes += ["BaseHTTPServer", "cgi", "cgitb", "fcntl", "getopt", "httplib", "inspect", "json", "math", "operator", "os", "os,", "psycopg2", "re", "smtplib", …
Run Code Online (Sandbox Code Playgroud)

python freeze cx-freeze

5
推荐指数
1
解决办法
4495
查看次数