python - 在 Python 中不使用\n 的新行

在python中,我正在尝试做一些事情来轻松编译c源代码,包括这样的一行;

import os
os.system("gcc %s -o %s -ansi" %(filename, filename[:-3])

但这给了我错误;
sh: 2: -o: not found

为了检查出了什么问题,我正在尝试这样做;
print("gcc %s -o %s -ansi" %(filename, filename[:-3]))

它给了我这个;
gcc foo.c
 -o foo -ansi

我的问题是它为什么会发生,我应该怎么做才能防止它?

最佳答案

os.system 已贬值,建议使用 subprocess 代替。

在“。”上拆分文件名即使文件扩展名不同,也将确保它正常工作。

如果您使用的是 Python 3,我建议您使用格式。

import subprocess

filename = filename.strip()
subprocess.call('gcc {} -o {} -ansi'.format(filename,filename.split(".")[0])

https://stackoverflow.com/questions/35676895/

相关文章:

java - 无法访问 org.eclipse.core.runtime.IProgressMoni

compiler-errors - 药剂: Why do I get “undefined func

macos - 指定编译器 Homebrew 安装

generics - TypeScript 泛型类 : Cannot assign to Gener

assembly - 如何修复 “error:cannot generate COM file, s

c# - 引用Shell32.dll?

ruby - 如何转换为Crystal ruby​​的Array的多个分配

r - 使用 R 包 brms 时出错

haskell - 无法构造无限类型

c# - 为什么调用此列表方法会返回不可访问错误?