草庐IT

formatted

全部标签

python - datetime.strptime() 抛出 'does not match format' 错误

我明白了timedata'19/Apr/2011:22:12:39'doesnotmatchformat'%d/%b/%y:%H:%M:%S'当使用datetime.strptime('19/Apr/2011:22:12:39','%d/%b/%y:%H:%M:%S')我做错了什么? 最佳答案 试试%d/%b/%Y:%H:%M:%S-%y现在表示11。您可以使用date轻松地“调试”日期时间格式(在shell而不是python上,我的意思是,假设您正在运行GNU/Linux或类似系统):date'+%d/%b/%Y:%H:%M:%S

python - psycopg2 "TypeError: not all arguments converted during string formatting"

我正在尝试将二进制数据(漩涡哈希)插入PG表,但出现错误:TypeError:notallargumentsconvertedduringstringformatting代码:cur.execute("""INSERTINTOsessions(identity_hash,posted_on)VALUES(%s,NOW())""",identity_hash)我尝试在插入之前将conn.Binary("identity_hash")添加到变量中,但得到了同样的错误。identity_hash列是一个bytea。有什么想法吗? 最佳答案

python - 使用 kwargs 时如何转义 Python format() 中的冒号?

我有一本字典,我想打印它的键中有一个冒号。不幸的是,冒号字符用于格式化,所以我需要以某种方式转义它。例如:>>>d={'hello':'world','with:colon':'moo'}>>>'{hello}'.format(**d)'world'>>>'{with:colon}'.format(**d)KeyError:'with'>>>'{with\:colon}'.format(**d)KeyError:'with\\'>>>'{with::colon}'.format(**d)KeyError:'with' 最佳答案 根据

python - 为什么 `str.format()` 会忽略其他/未使用的参数?

我看到了"Whydoesn'tjoin()automaticallyconvertitsargumentstostrings?"和theacceptedanswer让我想到:自从Explicitisbetterthanimplicit.和Errorsshouldneverpasssilently.为什么str.format()会忽略额外的/未使用的(有时是意外传递的)参数?对我来说,它看起来像是一个静默传递的错误,而且肯定不是明确的:>>>'abc'.format(21,3,'abc',object(),x=5,y=[1,2,3])'abc'这实际上导致我的friend遇到os.mak

python-2.7 - 字符串格式化 [str.format()],字典键是数字的 str()

这里是Python新手。我想知道是否有人可以帮助解决我在str.format中使用字典进行字符串插值时遇到的KeyError.dictionary={'key1':'val1','1':'val2'}string1='Interpolating{0[key1]}'.format(dictionary)printstring1以上工作正常并产生:Interpolatingval1但是执行以下操作:dictionary={'key1':'val1','1':'val2'}string2='Interpolating{0[1]}'.format(dictionary)printstring2

python - '{0 }'.format() is faster than str() and ' {}'.format() 使用 IPython %timeit 否则使用纯 Python

所以这是CPython的东西,不太确定它与其他实现的行为是否相同。但是'{0}'.format()比str()和'{}'.format()快。我发布的是Python3.5.2的结果,但是,我用Python2.7.12尝试过,趋势是一样的。%timeitq=['{0}'.format(i)foriinrange(100,100000,100)]%timeitq=[str(i)foriinrange(100,100000,100)]%timeitq=['{}'.format(i)foriinrange(100,100000,100)]1000loops,bestof3:231µsperlo

python - '{0 }'.format() is faster than str() and ' {}'.format() 使用 IPython %timeit 否则使用纯 Python

所以这是CPython的东西,不太确定它与其他实现的行为是否相同。但是'{0}'.format()比str()和'{}'.format()快。我发布的是Python3.5.2的结果,但是,我用Python2.7.12尝试过,趋势是一样的。%timeitq=['{0}'.format(i)foriinrange(100,100000,100)]%timeitq=[str(i)foriinrange(100,100000,100)]%timeitq=['{}'.format(i)foriinrange(100,100000,100)]1000loops,bestof3:231µsperlo

python - Python 的 string .format() 可以安全地用于不受信任的格式字符串吗?

我正在开发一个网络应用程序,用户可以在其中提供字符串,然后服务器会将变量替换到这些字符串中。我最好使用PEP3101format()语法,我正在研究覆盖Formatter中方法的可行性,以确保不受信任的输入安全。以下是我在.format()中看到的风险:填充允许您指定任意长度,因此'{:>9999999999}'.format(..)可能会使服务器内存不足并成为DOS。我需要禁用它。Format允许您访问对象内部的字段,这很有用,但令人毛骨悚然的是您可以访问dunder变量并开始钻取标准库的位。不知道哪里可能有getattr()有副作用或返回一些secret。我会通过覆盖get_fie

python - Python 的 string .format() 可以安全地用于不受信任的格式字符串吗?

我正在开发一个网络应用程序,用户可以在其中提供字符串,然后服务器会将变量替换到这些字符串中。我最好使用PEP3101format()语法,我正在研究覆盖Formatter中方法的可行性,以确保不受信任的输入安全。以下是我在.format()中看到的风险:填充允许您指定任意长度,因此'{:>9999999999}'.format(..)可能会使服务器内存不足并成为DOS。我需要禁用它。Format允许您访问对象内部的字段,这很有用,但令人毛骨悚然的是您可以访问dunder变量并开始钻取标准库的位。不知道哪里可能有getattr()有副作用或返回一些secret。我会通过覆盖get_fie

python - 带有可选占位符的 string.format()

我有以下Python代码(我使用的是Python2.7.X):my_csv='{first},{middle},{last}'print(my_csv.format(first='John',last='Doe'))我收到一个KeyError异常,因为未指定“中间”(这是预期的)。但是,我希望所有这些占位符都是可选的。如果未指定那些命名参数,我希望删除占位符。所以上面打印的字符串应该是:John,,Doe是否有使这些占位符可选的内置功能,或者是否需要一些更深入的工作?如果是后者,如果有人能告诉我最简单的解决方案,我将不胜感激! 最佳答案