相关疑难解决方法(0)

在Python字符串中转义正则表达式特殊字符

Python有一个函数可以用来转义正则表达式中的特殊字符吗?

例如,I'm "stuck" :\应该成为I\'m \"stuck\" :\\.

python regex string escaping

113
推荐指数
3
解决办法
18万
查看次数

如何使用subprocess.Popen通过管道连接多个进程?

如何使用Python subprocess模块执行以下shell命令?

echo "input data" | awk -f script.awk | sort > outfile.txt
Run Code Online (Sandbox Code Playgroud)

输入数据将来自一个字符串,所以我实际上并不需要echo.我已经走到这一步了,任何人都可以解释我是如何通过它来解决的sort吗?

p_awk = subprocess.Popen(["awk","-f","script.awk"],
                          stdin=subprocess.PIPE,
                          stdout=file("outfile.txt", "w"))
p_awk.communicate( "input data" )
Run Code Online (Sandbox Code Playgroud)

更新:请注意,虽然下面接受的答案实际上没有回答问题,但我相信S.Lott是对的,最好避免首先解决这个问题!

python subprocess pipe

52
推荐指数
4
解决办法
5万
查看次数

Python模块到shellquote/unshellquote?

Python标准库中是否有任何内容可以正确解析/解析字符串以便在shell命令中使用?我正在寻找perl的python模拟String::ShellQuote::shell_quote:

$ print String::ShellQuote::shell_quote("hello", "stack", "overflow's", "quite", "cool")
hello stack 'overflow'\''s' quite cool
Run Code Online (Sandbox Code Playgroud)

而且,更重要的是,它会在相反的方向上起作用(取一个字符串并将其分解为一个列表).

python shell quoting

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

在Python输出中引用POSIX shell特殊字符

有时候我会自动从Python创建小的shell脚本,我想确保文件名参数不包含非转义的特殊字符.我已经推出了自己的解决方案,我将作为答案提供,但我几乎可以肯定,我已经看到这样的功能在标准库中丢失了."丢失"我的意思是我没有在一个明显的模块中找到它shlex,cmd或者subprocess.

你知道stdlib中有这样的功能吗?如果是的话,它在哪里?

即使是负面(但明确和正确)的答案也将被接受.

python shell posix escaping special-characters

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

Django执行cmd应用程序

from django.db import models
import os
from django.db.models.signals import post_save
import sys

class Form(models.Model):
    site = models.CharField(max_length=50)
    num = models.CharField(max_length=10)
    octet = models.CharField(max_length=30)

    def __unicode__(self):
        return self.site
        return self.num
        return self.octet

def create_conf(sender, **kwargs):
    os.system("/usr/local/build " + self.site + ' ' + self.num + ' ' + self.octet)

post_save.connect(create_conf, sender=Form)
Run Code Online (Sandbox Code Playgroud)

试图让我的django Web应用程序执行带参数的python命令行应用程序.不确定这是否是绕过它的最好方法?如果没有任何建议会很好.尝试通过Web表单从用户获取输入,并将其用作执行cmd应用程序的参数.

帮助太棒了

谢谢威廉

python django

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

在Python中转义shell命令的字符串

我有兴趣在Python3.x中转义字符串,例如:

SOME_MACRO(a, b)
Run Code Online (Sandbox Code Playgroud)

成...

SOME_MACRO\(a,\ b\)
Run Code Online (Sandbox Code Playgroud)

...这样它就可以作为定义传递给程序(在本例中不是gcc),

例如,

some_program -DSOME_MACRO\(a,\ b\)="some expression"
Run Code Online (Sandbox Code Playgroud)

我希望shlex有这个功能,但我没有找到如何做到这一点并检查了许多类似的问题.

我不介意写一些简单的函数来做到这一点,但这似乎是Python所包含的东西.

注意: 程序我传递的参数不会接受:

-D"SOME_MACRO(a, b)"="some expression"
Run Code Online (Sandbox Code Playgroud)

...它希望第一个字符是标识符.

python shell escaping

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

为什么我在运行 Python 程序时收到“sh: 1: 语法错误:未终止的引号字符串”?

我想统计一下我写了多少行代码。

这是Python代码:

import os
import sys

EXT = ['.c','.cpp','.java','.py']

def main():
    l = []
    if os.path.isdir(sys.argv[1]):
        for root, dirs, files in os.walk(sys.argv[1]):
            l.extend([os.path.join(root, name) for name in files])
    else:
        l.append(sys.argv[1])

    params = ["'"+p+"'" for p in l if os.path.splitext(p)[1] in EXT]

    result = os.popen("wc -l %s "%" ".join(params)).read()
    print result

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

在此之前,它按预期运行。但今天,它给了我这个错误:

sh: 1: Syntax error: Unterminated quoted string
Run Code Online (Sandbox Code Playgroud)

我不知道发生了什么事。

python shell

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

pytesseract tessedit_char_whitelist 不接受报价

我已经开始在 python 中使用 pytesseract。当我将它传递给单引号或双引号时

from PIL import Image
import pytesseract
import numpy as np

tesseract_config = r"""-c tessedit_char_whitelist=0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ#'<>(){};:"""
tesseract_language = "eng"

text = pytesseract.image_to_string(Image.open('res/outc001.jpg'), lang=tesseract_language, config=tesseract_config)
print text
Run Code Online (Sandbox Code Playgroud)

它返回

Traceback (most recent call last):
  File "main.py", line 15, in <module>
    text = pytesseract.image_to_string(Image.open('res/outc001.jpg'), lang=tesseract_language, config=tesseract_config).split('\n')
  File "/usr/local/lib/python2.7/dist-packages/pytesseract/pytesseract.py", line 193, in image_to_string
    return run_and_get_output(image, 'txt', lang, config, nice)
  File "/usr/local/lib/python2.7/dist-packages/pytesseract/pytesseract.py", line 140, in run_and_get_output
    run_tesseract(**kwargs)
  File "/usr/local/lib/python2.7/dist-packages/pytesseract/pytesseract.py", line 106, in run_tesseract
    command += shlex.split(config)
  File "/usr/lib/python2.7/shlex.py", line 279, in split
    return …
Run Code Online (Sandbox Code Playgroud)

python quotes tesseract python-tesseract pytesser

3
推荐指数
1
解决办法
3483
查看次数