相关疑难解决方法(0)

Python popen命令.等到命令完成

我有一个脚本,我用popen启动一个shell命令.问题是脚本不会等到popen命令完成后立即继续.

om_points = os.popen(command, "w")
.....
Run Code Online (Sandbox Code Playgroud)

如何判断我的Python脚本要等到shell命令完成?

python subprocess popen wait

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

如何使用Python关闭计算机

我写了一个Python脚本,最终应该关闭计算机.

这一行是其中的一部分:

os.system("shutdown /p")
Run Code Online (Sandbox Code Playgroud)

它会进行某种关闭,但仍保留在开启的Windows控制面板上(用户可以切换计算机用户).

有没有办法完全关闭电脑?

我尝试过其他os.system("shutdown ___")方法但没有成功.

还有其他方法可能会有所帮助吗?

python windows cmd shutdown

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

为什么python不再等待os.system完成?

我有以下功能,几个月来一直很好用.我没有更新我的Python版本(除非它发生在幕后?).

def Blast(type, protein_sequence, start, end, genomic_sequence):
    result = []
    M = re.search('M', protein_sequence)
    if M:
        query = protein_sequence[M.start():]
        temp = open("temp.ORF", "w")
        print >>temp, '>blasting'
        print >>temp, query
        temp.close()
        cline = blastp(query="'temp.ORF'", db="DB.blast.txt",
                       evalue=0.01, outfmt=5, out=type + ".BLAST")
        os.system(str(cline))
        blast_out = open(type + ".BLAST")
        string = str(blast_out.read())
        DEF = re.search("<Hit_def>((E|L)\d)</Hit_def>", string)
Run Code Online (Sandbox Code Playgroud)

我收到blast_out=open(type+".BLAST")无法找到指定文件的错误.此文件作为os.system调用调用的程序输出的一部分创建.这通常需要大约30秒才能完成.但是,当我尝试运行程序时,它立即给出了我上面提到的错误.

我以为os.system()应该等待完成?
我应该以某种方式强迫等待吗?(我不想硬编码等待时间).

编辑:我已经在BLAST程序的命令行版本中运行了cline输出.一切似乎都很好.

python os.system

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

Python:无法使用os.system()打开文件

我正在编写一个Python脚本,它使用应用程序pdftk几次来执行一些操作.

例如,我可以在windows命令行shell中使用pdftk来合并两个pdf文件,如下所示:

pdftk 1.pdf 2.pdf cat output result.pdf
Run Code Online (Sandbox Code Playgroud)

我想在我的Python脚本中执行上述操作.这是我尝试这样做的方式:

os.system('pdftk 1.pdf 2.pdf cat output result.pdf')
Run Code Online (Sandbox Code Playgroud)

上面的pdftk命令在Windows shell中完美运行.但是,当我尝试使用Python执行它时,它无法打开输入文件(1.pdf和2.pdf)os.system().这是我在尝试使用Python执行命令时从pdftk获得的错误消息os.system():

错误:无法打开PDF文件:1.pdf

错误:无法打开PDF文件:2.pdf

为什么会这样?我该如何解决?

请注意:我知道有更好的方法将pdf文件与Python合并.我的问题不是关于合并pdf文件.那只是一个玩具的例子.我想要实现的是使用Python执行pdftk和其他命令行应用程序的能力.

python cmd system

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

保持打开一个cmd窗口

我在一个程序中有一个python代码,它打开一个cmd窗口并运行另一个程序.代码如下:

os.chdir('C:/Abaqus_JOBS' + JobDir)
os.system('abaqus job=' + JobName + '-3_run_rel2 user=FalseworkNmm41s interactive')
Run Code Online (Sandbox Code Playgroud)

现在一切正常但是我在cmd窗口中出现错误,然后它很快关闭,不让我看到错误是什么.如何阻止此cmd窗口关闭?

python windows cmd

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

如何将convert命令更改为python代码

我在我的项目中使用 Imagemagick 进行图像增强。由于我是 Imagemagick 的新手,因此我开始使用此包的命令行参数。为了进一步处理,我需要将以下命令更改为Python代码。

convert sample.jpg -blur 2x1 -sharpen 0x3 -sharpen 0x3 -quality 100 -morphology erode diamond -auto-orient -enhance -contrast -contrast-stretch 0 -gamma .45455 -unsharp 0.25x0.25+8+0.065 -fuzz 2% output.jpg
Run Code Online (Sandbox Code Playgroud)

我认为使用 wand 包是可能的。但是是否可以转换上述命令中使用的所有参数。任何帮助深表感谢。谢谢

python python-2.7 imagemagick-convert wand

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

使用 os 模块时如何在 python 中记录错误

我正在尝试采用一种简单的方法来跟踪我想使用 python 中的 os 模块运行的定期 mysqldump 命令。我已经写了这个,但在测试中它不会引发异常,即使 mysqldump 命令完成时出现错误也是如此。我对 python 还很陌生,所以我可能会非常接近这个问题,但我想我会尝试指出正确的方向。

db_dump = "mysqldump -u %s -p%s --socket=source_socket --databases %s | mysql -u %s -p%s   --socket=dest_socket" % (db_user, db_pass, ' '.join(db_list), db_user, db_pass)

try:
    os.system(db_dump)
except:
    logging.error("databases did not dump")
else:    
    logging.info("database dump complete")
Run Code Online (Sandbox Code Playgroud)

python

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

通过子进程或另一种方法调用Python速度命令行

在使用该subprocess.call方法的Python中是否有更高效或更快的效果?我注意到一年前有一个SO问题(Python子进程模块比命令(弃用)慢得多)除了由于Python删除了替代品而导致折旧,所以我想看看这是否是现在唯一的,因此最快意味着从Python中调用shell命令.具体来说,我正在运行以下命令:

subprocess.call( "foo" 的,壳=真)

或者我应该使用os

谢谢.

python shell terminal subprocess

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

在bash命令中使用带有os.system的Python变量

我想输入一个电话号码,raw_input并在我的bash命令中使用此变量来发送消息.我不知道如何设置变量$ Phonenumber.没有RAW输入,它就像一个魅力.我使用Python 2.7.

import os

Phonenumber = raw_input("Number?)

os.system("yowsup-cli demos --login PHONE:PASSWORD= --send '$Phonenumber' 'MESSAGE'")
Run Code Online (Sandbox Code Playgroud)

python variables macos bash os.system

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

subprocess.Popen()和os.fork()有什么区别?

似乎subprocess.Popen ()os.fork()都能够创建子进程.但我想知道两者之间的区别.你什么时候使用哪一个?我试着查看他们的源代码,但是我在我的机器上找不到fork()的源代码,并且不完全清楚Popen如何在Unix机器上工作.

有人可以详细说明吗?

谢谢

python fork

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