当我通过下面的FileNotFound代码执行subprocess.run()时,出现了以下subprocess.run错误:
from subprocess import run, DEVNULL, PIPE
def Befehl_Schreiber():
flag_op = 'DEVNULL'
flag_err = 'PIPE'
befehl = 'usearch11 -threads 8 -fastq_filter ' + '.\Rohrdaten\pmFLP135_143_148_KWB3_1_1_5_S1_L001_R1_001.fastq' + ' -fastq_maxee 1 -fastq_minlen 120 -fastq_maxns 0 -fastaout ' + '.\\1_QC\pmFLP135_143_148_KWB3_1_1_5_S1_L001_R1_001--1.QC.fasta'
return "'" + befehl + "'" + ', stdout=' + flag_op + ', stderr=' + flag_err + ', shell = True' + ', text = True'
command = Befehl_Schreiber()
print(command)
process = run(command)结果以及来自cmd中上述代码的错误如下:
'usearch11 -threads 8 -fastq_filter .\Rohrdaten\pmFLP135_143_148_KWB3_1_1_5_S1_L001_R1_001.fastq -fastq_maxee 1 -fastq_minlen 120 -fastq_maxns 0 -fastaout .\1_QC\pmFLP135_143_148_KWB3_1_1_5_S1_L001_R1_001--1.QC.fasta', stdout=DEVNULL, stderr=PIPE, shell = True, text = True
Traceback (most recent call last):
File "Fragestellung.py", line 13, in <module>
process = run(command)
File "C:\Program Files\Python38\lib\subprocess.py", line 489, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\Program Files\Python38\lib\subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Program Files\Python38\lib\subprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht finden当我将上面输出的第一行,即第一个代码块中的print(命令)函数的结果复制到“命令”所在的位置时,脚本再次毫无问题地运行:
from subprocess import run, DEVNULL, PIPE
def Befehl_Schreiber():
flag_op = 'DEVNULL'
flag_err = 'PIPE'
befehl = 'usearch11 -threads 8 -fastq_filter ' + '.\Rohrdaten\pmFLP135_143_148_KWB3_1_1_5_S1_L001_R1_001.fastq' + ' -fastq_maxee 1 -fastq_minlen 120 -fastq_maxns 0 -fastaout ' + '.\\1_QC\pmFLP135_143_148_KWB3_1_1_5_S1_L001_R1_001--1.QC.fasta'
return "'" + befehl + "'" + ', stdout=' + flag_op + ', stderr=' + flag_err + ', shell = True' + ', text = True'
process = run('usearch11 -threads 8 -fastq_filter .\Rohrdaten\pmFLP135_143_148_KWB3_1_1_5_S1_L001_R1_001.fastq -fastq_maxee 1 -fastq_minlen 120 -fastq_maxns 0 -fastaout .\1_QC\pmFLP135_143_148_KWB3_1_1_5_S1_L001_R1_001--1.QC.fasta', stdout=DEVNULL, stderr=PIPE, shell = True, text = True)我不知道问题在哪里,in...any的帮助将被感谢。
https://stackoverflow.com/questions/71617051
复制相似问题