相关疑难解决方法(0)

Grep和Python

我需要一种通过Unix命令行中的正则表达式使用grep搜索文件的方法.例如,当我输入命令行时:

python pythonfile.py 'RE' 'file-to-be-searched'
Run Code Online (Sandbox Code Playgroud)

我需要'RE'在文件中搜索正则表达式并打印出匹配的行.

这是我的代码:

import re
import sys

search_term = sys.argv[1]
f = sys.argv[2]

for line in open(f, 'r'):
    if re.search(search_term, line):
        print line,
        if line == None:
            print 'no matches found'
Run Code Online (Sandbox Code Playgroud)

但是当我输入一个不存在的单词时,no matches found不会打印

python regex grep

67
推荐指数
4
解决办法
23万
查看次数

Python是否可以替代Windows命令行/批处理脚本?

我有一些Bash的经验,我不介意,但现在我正在做很多Windows开发,我需要做基本的东西/使用Windows命令行语言编写基本脚本.出于某种原因,这种语言真的让我很恼火,所以我正在考虑学习Python并使用它.

Python适合这样的东西吗?移动文件,创建脚本来执行诸如解压缩备份和恢复SQL数据库等操作.

python scripting command-line

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

在python中嵌入bash

我正在写一个Python脚本,我的时间已经不多了.我需要做一些我在bash中非常熟悉的事情,所以我只是想知道如何将一些bash行嵌入到Python脚本中.

谢谢

python bash interop language-interoperability

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

Python是这个钉子的正确锤子吗?(构建脚本)

目前我正在使用Windows批处理文件来构建我的软件.它可以运行MSBuild,复制文件,创建ZIP文件,运行一些测试,包括颠覆版本号等.

但问题是,批处理文件是邪恶的.所以我想换个更好的东西.我打算用Python重新创建我的构建脚本.这是一个明智的选择吗?那些构建系统如Ant,SCons,Maven,Rake等等.使用其中任何一个都是更好的选择吗?

注意:我不打算替换我的Visual Studio解决方案/项目文件.我只想编写创建软件版本所需的所有其他内容.

编辑:我有充分的理由离开批处理,这不是我的问题所在.我想知道(例如)SCons给我的是什么,而不是普通的Python脚本.

python build-automation build-process

15
推荐指数
3
解决办法
8803
查看次数

如何使用python在linux中创建用户

如何使用Python在Linux中创建用户?我的意思是,我知道子进程模块,并考虑调用'adduser'并一次传递所有参数,但'adduser'命令会询问一些问题,如密码,全名,电话和东西.我如何使用子流程回答这个问题?我在这个问题上看到了名为pexpect的模块:我可以使用Python作为Bash的替代品吗?.还有其他标准模块吗?

python linux shell

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

UNIX shell用合理的语言编写?

有没有人听说过用合理语言编写的UNIX shell,比如Python?

python unix shell

9
推荐指数
4
解决办法
3268
查看次数

使用os.system("bash code")在Python脚本中调用bash命令是否很好?

我想知道使用os.system()在Python脚本中调用bash命令是否是一种好的风格.我也想知道这样做是否安全.

我知道如何在Bash和Python中实现我需要的一些功能,但在Bash中实现它更简单,更直观.但是,我觉得编写os.system("bash代码")非常hackish.

具体来说,我想将所有以特定扩展名结尾的文件移动到目录中.

在bash中:*mv .ext/path/to/destination 在Python(伪代码)中:对于目录中的文件:if file.endswith("ext"):将文件移动到目标

在这种情况下,我该怎么办?

python security bash scripting embedding

8
推荐指数
2
解决办法
2751
查看次数

强制CLI使用现有流程?

什么是向我的linux守护程序应用程序发送消息的最简单方法?是否myapp foo bar可以调用回调而不是启动新进程?什么是与守护进程通信的标准方法?是我最合理的选择,坚持使用PID /var/run并创建命名管道或套接字?

什么是在命令行上运行的应用程序与其守护程序进程通信的标准方式?当我输入时,我假设不可能要求linux调用回调myapp foo bar

linux command-line-interface

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

在简单的shell脚本中将文件作为参数传递的最简单方法是什么?

以下在Mac OS X上运行正常:

#!/bin/bash
R CMD Sweave myfile.Rnw
pdflatex myfile.tex
open myfile.pdf
Run Code Online (Sandbox Code Playgroud)

现在,我意识到这3行代码对我的工作非常有帮助 - 独立于某些特定文件.因此,我想将该文件用作参数.我知道如何使用一个参数本身但是在字符串之后拆分输入并在之后连接它时会出现问题.如果我能够分割文件名参数,如:

split($1,".") # return some array or list ("name","ext")
Run Code Online (Sandbox Code Playgroud)

或者是否比在shell脚本中使用Python更简单,完全不同?

提前获取任何一般建议和示例!

python shell

3
推荐指数
2
解决办法
338
查看次数