我写了一个脚本,它将当前日期和时间保存为文件名,但是我收到一条错误,指出“TypeError:并非在字符串格式化过程中转换了所有参数”我是Python的新手并且可能错过了一些明显的东西。代码如下:
from subprocess import Popen
import datetime
today = datetime.date.today()
today = str(today)
print today
f = open("%s.sql", "w" % (today))
x = Popen(["mysqldump", "-u", "root", "-pucsdrv", "normalisationtion"], stdout = f)
x.wait()
f.close()
答案 0 :(得分:29)
你把字符串格式放在错误的地方;它需要在正在格式化的字符串之后:
f = open("%s.sql" % (today), "w")
不传递任何格式化参数是合法的,就像你使用"%s.sql"
一样,但传递参数但不合适的数量是不合法的("w" % (today)
传递一个,但"w"
中没有字符串格式{1}},所以你得到一个错误,并没有使用所有的参数)
答案 1 :(得分:4)
f = open("%s.sql" % today, "w")