小编Hai*_* Vu的帖子

如何使用 fzf 仅搜索目录?

这是一个用例:我用来fzf搜索目录列表,然后将其与cd命令一起使用:

cd $(fzf)
Run Code Online (Sandbox Code Playgroud)

但是,该fzf命令仅显示文件,而不显示目录。有没有办法指示fzf仅选择目录?

bash fzf

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

用于从PDF搜索文本的脚本

问题

在Mac OS X平台上,我想用Python或Tcl编写脚本来搜索PDF文件中的文本并提取相关部分.我感谢任何帮助.

背景

我正在编写脚本来查看PDF以确定它是一个账单,来自哪个公司,以及在什么时期.根据这些信息,我重命名PDF并将其移动到适当的目录.例如,文件Statement_03948293929384.pdf可能会变为2012-07-15 Water Bill.pdf并移动到我的Utilities文件夹.

到目前为止我做了什么?

  • 我搜索了PDF到纯文本工具,但还没有找到任何东西
  • 我已经查看了Tcl wiki并找到了一个示例,但无法使其工作(我在PDF中搜索文本,但未找到).
  • 我正在研究pdf-parser.py迪迪埃史蒂文斯
  • 我听说过一个名为pyPdf的Python包,接下来会看一下.

更新

我找到了一个名为pdftotext的命令行工具,由Glyph&Cog,LLC编写; 由Carsten Bluem制造和包装.这个工具很简单,它解决了我的问题.我仍在寻找那些可以直接搜索PDF的工具,而无需转换为文本文件.

python pdf macos parsing tcl

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

SQLite中的越南语Unicode文本搜索

我打算编写一个使用SQLite作为后端的iOS应用程序.我的数据库包含越南文本,例如"HảiSơn".用于Google搜索的用户想要输入搜索字词"hai son"以查找上面的文字.我尝试了以下查询:

SELECT * FROM towns WHERE title LIKE '%hai son%';
Run Code Online (Sandbox Code Playgroud)

我得到了0记录.我该如何使它工作?我知道谷歌和其他搜索引擎处理这种情况,所以它可以完成.我也不想让我的用户输入带有完全变音符号的越南语文本,因为并非所有用户都知道如何操作.

更新

我查看了sqlite3文档,看起来只有三个有效的归类序列:BINARY,NOCASE和RTRIM.我错过了什么吗?

更多信息

我的表创建时间:

CREATE TABLE towns ( sid INTEGER PRIMARY KEY NOT NULL, title TEXT )
Run Code Online (Sandbox Code Playgroud)

到目前为止,我只使用sqlite3命令行从CSV文件创建数据库,表和导入文本.

我的sqlite3版本是3.7.12

更新2

别名给了我一个想法:创建我自己的整理顺序.如果有效,我会发布一个跟进.

sqlite unicode search ios southeast-asian-languages

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

与 python 上的交互式 shell 脚本交互

我在 Windows 上有一个交互式 shell 应用程序。我想编写一个 python 脚本,它将向该 shell 应用程序发送命令并读回响应。不过,我想以交互方式执行此操作,即我希望 shell 应用程序随着 python 脚本的运行而继续运行。

我努力了

self.m_process subprocess.Popen(path_to_shell_app,shell=True,stdin=subprocess.PIPE,stdout=subprocess.PIPE,universal_newlines=True)
Run Code Online (Sandbox Code Playgroud)

然后使用 stdin 和 stdout 发送和接收数据。似乎外壳应用程序正在打开,但我无法与其通信。

我究竟做错了什么?

python interactive-shell

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

将数组传递给Parameterized JUnit

我是JUnit 4.x的参数化功能的新手并且遇到了问题.我的参数化测试由3个整数数组组成,我很难如何声明它们.我在下面得到的运行时错误:

testGeneral[0] caused an ERROR: argument type mismatch
    argument type mismatch
    java.lang.IllegalArgumentException
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
testGeneral[1] caused an ERROR: argument type mismatch
    argument type mismatch
    java.lang.IllegalArgumentException
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

@RunWith(Parameterized.class)
public class MyArrayTest {
    private Integer[] inputList1;
    private Integer[] inputList2;
    private Integer[] expectedList;

    public MyArrayTest(Integer[] li1, Integer[] li2, Integer[] expected) {
        // ========> Runtime error happens here. <=========
        this.inputList1 = li1;
        this.inputList2 = li2;
        this.expectedList = expected;
    }

    @Parameterized.Parameters
    public static Collection testCases() {
        return Arrays.asList(new Object[][][] {
            {{1,1,1}, {2,2,2}, …
Run Code Online (Sandbox Code Playgroud)

java parameterized

4
推荐指数
1
解决办法
5282
查看次数

什么叫`返回-1 || 退出-1`是什么意思?

我对以下bash行感到困惑,由其他人写的:

return -1 || exit -1
Run Code Online (Sandbox Code Playgroud)

这是什么意思?我理解||构造意味着如果第一部分(在这种情况下return -1)失败(即返回非零代码),则执行第二部分(exit -1).同样奇怪的是,这个语句不是任何函数的一部分,而是在脚本的主体中.

我感谢有人向我解释这一点.

bash

4
推荐指数
1
解决办法
1598
查看次数

在Python中将gz文件作为字符串读取

我一直在寻找一种可以在 python 中读取 gz 文件的方法,我做了类似的事情

with gzip.open(filepath) as infile:
    ...
Run Code Online (Sandbox Code Playgroud)

然而,读入的数据似乎是字节状的,我不能做类似的事情for l in infile。有办法解决这个问题吗?

python gzip python-3.x

4
推荐指数
1
解决办法
5366
查看次数

subprocess.run 在 Windows 中不起作用 - 系统找不到指定的文件

我正在尝试在 Visual sutdio 代码中使用 subprocess 模块,但我不断收到错误。这是代码:

import subprocess
subprocess.run("dir") 
Run Code Online (Sandbox Code Playgroud)

或者

import subprocess
subprocess.run("dir","/p")
Run Code Online (Sandbox Code Playgroud)

错误是:

Traceback (most recent call last):
  File "e:\Dropbox (Personal)\My Python\external\extrprg.py", line 2, in <module>
    subprocess.run("dir")
  File "E:\Users\klo\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 472, in run
    with Popen(*popenargs, **kwargs) as process:
  File "E:\Users\klo\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 775, in __init__
    restore_signals, start_new_session)
  File "E:\Users\klo\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1178, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
Run Code Online (Sandbox Code Playgroud)

我希望 python 运行dir并给我目录中的文件夹列表

python subprocess

4
推荐指数
1
解决办法
4972
查看次数

如何在Windows环境中杀死TCL中的后台进程

我已经在Windows环境中使用Tcl的exec命令从Tcl程序中启动了iperf作为后台进程.但是,我想在将来的任意时间以编程方式从同一个Tcl程序中杀死iperf进程.我怎样才能最好地完成这个?

这是我正在使用的代码

proc runtest {  REF_WLAN_IPAddr run_time} {
    exec c:\\iperf_new\\iperf -c $REF_WLAN_IPAddr -f m -w 2M -i 1 -t $run_time  >& xx.txt & 
    # have some code after this
} 
Run Code Online (Sandbox Code Playgroud)

但是我看到iperf没有被杀死,所以控件没有转回TCL,我怎么能这样做?答案非常感谢}

tcl

2
推荐指数
1
解决办法
4038
查看次数

如何将字符串作为参数名称传递?

我有以下功能:

def create_act(user, verb, fk_name=None, fk_value=None):
    fk = getattr(Action, fk_name)
    action = Action(user=user, verb=verb, fk=fk_value)
    action.save()
Run Code Online (Sandbox Code Playgroud)

行动是一个阶级.该类有多个属性,我不知道在哪个属性将得到一个值.

我得到属性名称动态.

我希望kwarg fk成为集体诉讼的实际属性.FK可以是账户或公司.

class Action(models.Model):

account = models.ForeignKey(Account, blank=True, null=True, related_name='activity', on_delete=models.CASCADE)
company = models.ForeignKey(Company, blank=True, null=True, related_name='activity', on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)

我在论坛上找到了一些答案,但与我无关,或者在python中.我在其他网站上看到了一些使用eval的建议,但eval并不安全.

python arguments function python-3.x

2
推荐指数
1
解决办法
109
查看次数