Python os.system麻烦

时间:2014-03-31 19:49:52

标签: python

我正在编写一个程序,您需要输入文件的标题。如果要删除该文件,请执行命令ss“rm name_of_file”。 这是我的代码:

    import os
    title = raw_input("What Will Your Title Be? ")
    os.system("rm", title)

正如您可能想象的那样,这只是我正在编写的程序的一小部分。 我得到的错误是:

    File "./texts.py", line 1446, in <module>
    os.system("rm", title)
    TypeError: system() takes exactly 1 argument (2 given)

我可能只是写错了,一些反馈会有所帮助:)

3 个答案:

答案 0 :(得分:2)

逗号将它分成两个参数,因此您将获得该错误,因为该函数只接受一个参数。更改它,以便您添加到相同的字符串,从而只提交一个参数使其工作:

os.system("rm "+title)

答案 1 :(得分:0)

这将非常难以安全实施。考虑有人键入-rf /作为要删除的文件名的情况。我强烈建议使用os.unlink功能:

>>> import os
>>> os.unlink('-rf /')
...
OSError: [Errno 2] No such file or directory: '-rf /'

这是一个危险的操作,你自己尝试。让标准库为您做繁重的工作。

答案 2 :(得分:0)

你为什么不这样做

if os.path.isfile(title):
    os.remove(title)
相关问题