python - 并非所有参数都在字符串格式化期间转换

我正在编写一个将当前日期和时间保存为文件名的脚本,但我收到一条错误消息,指出“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()

最佳答案

您将字符串格式放在错误的位置;它必须紧跟在被格式化的字符串之后:

f = open("%s.sql" % (today), "w")

不传递任何格式参数是合法的,就像你对 "%s.sql" 所做的那样,但是传递参数而不是正确的数量是不合法的 ("w"% (今天) 通过了一个,但是在 "w" 中没有字符串格式,所以你会得到一个错误,不是所有的参数都被使用了)

https://stackoverflow.com/questions/3089038/

相关文章:

python - 打印十六进制值时如何让 Python 使用大写字母?

linux - 如何在 unix/linux 中显示 'ls -l' 命令的列标题?

c# - 在单个键盘快捷键中使用 R# 重新格式化代码

haskell - 如何让haskell输出不是科学计数法的数字?

r - 在 R 绘图图例中添加 pch 符号

objective-c - 将 [NSDate date] 的日期缩短几个小时

asp.net-mvc - 使用 Razor View 引擎 - 如何将十进制值格式化为逗号和两位小

java - 如何格式化具有大参数列表的方法

r - 自动格式化 R 代码的工具

python - 将文本列表格式化为列