我正在编写一个程序,您需要输入文件的标题。如果要删除该文件,请执行命令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)
我可能只是写错了,一些反馈会有所帮助:)
答案 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)