我正在写一个程序,你需要输入一个文件的标题。如果要删除该文件,请使用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)我可能只是用错了字眼,一些反馈会有所帮助:)
发布于 2014-04-01 03:51:07
逗号将其分隔为两个参数,因此您会得到该错误,因为该函数只有一个参数。更改它,这样您就可以添加到相同的字符串中,从而只提交一个参数来使其工作:
os.system("rm "+title)发布于 2014-04-01 03:58:49
这将非常难以安全地实现。考虑一下有人键入-rf /作为要删除的文件名的情况。I'd 强烈建议使用os.unlink函数:
>>> import os
>>> os.unlink('-rf /')
...
OSError: [Errno 2] No such file or directory: '-rf /'你自己尝试这是一个危险的操作。让标准库为您完成繁重的工作。
发布于 2014-04-01 03:59:20
你为什么不干脆
if os.path.isfile(title):
os.remove(title)https://stackoverflow.com/questions/22770883
复制相似问题