这是我的代码:
import subprocess
subprocess.call("rm /home/winpc/Desktop/test.html", shell=True)
此代码正常运行。我需要进行以下更改。
file_name="test.html"
dir_path="/home/winpc/Desktop"
我需要使用上面提到的变量删除上面的文件test.html。我怎么能这样做。
答案 0 :(得分:2)
首先,正确构建完整的文件名:
full_name = os.path.join(dir_path, file_name)
然后,将列表作为call
的第一个参数传递:
subprocess.call(["rm", full_name])
(在现实生活中,你根本不会使用call
;你使用os.remove(full_name)
。)
答案 1 :(得分:1)
您可以使用字符串格式:
rm_file = "/home/winpc/Desktop/test.html"
subprocess.call("rm {}".format(rm_file), shell=True)
顺便提一下,我建议尽可能不使用shell=True
;而是将参数作为列表传递:
rm_file = "/home/winpc/Desktop/test.html"
subprocess.call(["rm", rm_file])