嗨,我正在尝试制作一个python脚本来实现一些自动化,从一些工具生成一个文件(不能给出它们的名称,但是这些命令会给您一个想法),同时我制作了一个脚本,它使用os.system将命令传递给cmd/终端(在mycase中是cmd),如下所示
os.system('"' + dc_dir + '" --scan "' + in_dir + '" --out "' + out_dir + '\\'+ Project_name + '.csv' + '" --format CSV --enableExperimental')
and it returns "The filename, directory name, or volume label syntax is incorrect."
but when i print the exact same line and run it manually it works
print('"' + dc_dir + '" --scan "' + in_dir + '" --out "' + out_dir + '\\'+ Project_name + '.csv' + '" --format CSV --enableExperimental')这是打印出来的命令
"C:\SBOM\dependency-check-6.2.2\bin\dependency-check.bat" --scan "C:\FinalScript\Source Codes\Sireous" --out "C:\SBOM\SiriusProgrammer_2_0.csv" --format CSV --enableExperimental如果可能的话请帮我一把。
发布于 2021-08-31 09:07:40
让我们尝试将问题本地化。要做到这一点,我们需要稍微组织一下您的代码:
,
'C:\SBOM\dependency-check-6.2.2\bin\dependency-check.bat‘=’C:\FinalScript\源代码\‘out_dir =’SBOM‘Project_name = 'SiriusProgrammer_2_0’f'{ dc_dir } -扫描{ in_dir }{Project_name} -out {out_dir}{Project_name}.csv -格式CSV --enableExperimental'
从路径库导入路径project_name = 'SiriusProgrammer_2_0‘project_dir = Path('C','SBOM') dependency_check_bat = 'bin',’依赖-校验.bin‘) source_code_dir = Path('C','FinalScript',’源代码‘,F‘{ {project_dir.joinpath(project_name).as_posix()}.csv ()}--扫描{source_code_dir.as_posix()} --out project_name--格式CSV --enableExperimental'
关于
导入子进程process_run =process_run‘--扫描’,source_code_dir.as_posix(),‘-out’,f'{project_dir.joinpath(project_name).as_posix()}.csv',‘-格式CSV',’- terminal_output‘,stdout=subprocess.PIPE) terminal_output= process_run.communicate()
让我们这样做,看看哪个航站楼会回到我们身边。
发布于 2021-08-31 09:03:07
首先,借助f-string,使语法变得清晰。
os.system(f'{dc_dir} --scan {in_dir} --out {out_dir}\{Project_name}.csv --format CSV --enableExperimental')https://stackoverflow.com/questions/68995309
复制相似问题