小编teh*_*ckz的帖子

Python:使用string.format()大写单词

是否可以使用字符串格式来大写单词?例如,

"{user} did such and such.".format(user="foobar")
Run Code Online (Sandbox Code Playgroud)

应该回归"Foobar做过这样的事情."

请注意,我很清楚.capitalize(); 但是,这是我正在使用的代码(非常简化版本):

printme = random.choice(["On {date}, {user} did la-dee-dah. ",
                         "{user} did la-dee-dah on {date}. "
                         ])

output = printme.format(user=x,date=y)
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,只是定义userx.capitalize().format()不工作的,因为那么它也将适用(错误地)的第一个场景.由于我无法预测命运,因此无法知道哪些random.choice会提前被选中.我能做什么?

Addt'l note:正好output = random.choice(['xyz'.format(),'lmn'.format()])(换句话说,单独格式化每个字符串,然后.capitalize()用于需要它的那些字符串)不是一个可行的选项,因为printme实际上是从~40 +字符串中选择.

python string-formatting

14
推荐指数
4
解决办法
1万
查看次数

使dateutil解析器为模糊日期引发错误

dateutil.parser用于解析给定的字符串并将其转换为datetime.datetime对象.它通过允许dayfirstyearfirst参数给出某种格式的先例来处理模糊日期,如"2-5-2013" .

如果遇到模糊日期,解析器是否可能引发错误?我想这将需要修改源代码(parser.py左右线)675/693/696,但如果有不需要逐字修改源代码,而不是仅仅涉及重新定义某些功能的方式,那简直太好了同样.

目前的行为:

>>> from dateutil import parser
>>> parser.parse("02-03-2013")
datetime.datetime(2013, 2, 3, 0, 0)
Run Code Online (Sandbox Code Playgroud)

期望的行为:

>>> from dateutil import parser
>>> parser.parse("02-03-2013")
Traceback (most recent call last):
..
ValueError: The date was ambiguous...<some text>
Run Code Online (Sandbox Code Playgroud)

python python-dateutil

5
推荐指数
1
解决办法
1136
查看次数

可拖动的 HTML &lt;form&gt; 输入

虽然有很多关于使用 jQuery 的可拖动 HTML 元素的答案,但我希望用户能够专门对列表中的项目进行重新排序,然后将每个对象的排名(即 1 表示顶部,3 表示底部)保存为一个正常的形式<input>

我开始修补一些 Javascript 并查看大量不同的资源(包括这个好的资源)。然而,它们只详细说明了如何移动物体,而不是如何将实际位置存储到<input>对象中。任何帮助将非常感激!

IDEALLY:
<input name="item-a-ranking" type="text">
-- the javascript then determines what text is "typed in" (i.e. 1, 2, or 3) for each.
Run Code Online (Sandbox Code Playgroud)

javascript forms jquery

1
推荐指数
1
解决办法
1937
查看次数

尝试JPEG导出时为TypeError

我正在尝试使用以下代码导出给定图像的已调整大小的JPEG(省略下载部分,因为它工作正常):

basewidth = 400 # user-defined variable
wpercent = (basewidth/float(img.size[0]))
hsize = int((float(img.size[1])*float(wpercent)))
img = img.resize((basewidth,hsize), Image.ANTIALIAS)
theitemishere = "/home/myusername/public_html/resizer/" + filename
img.save(theitemishere + extension, extension_caps)
Run Code Online (Sandbox Code Playgroud)

但是,当需要保存新图像时,我收到以下错误(这里是回溯):

  File "/home/myusername/public_html/cgi-bin/PIL/Image.py", line 1467, in save
    save_handler(self, fp, filename)
  File "/home/myusername/public_html/cgi-bin/PIL/JpegImagePlugin.py", line 557, in _save
    ImageFile._save(im, fp, [("jpeg", (0,0)+im.size, 0, rawmode)])
  File "/home/myusername/public_html/cgi-bin/PIL/ImageFile.py", line 466, in _save
    e = Image._getencoder(im.mode, e, a, im.encoderconfig)
  File "/home/myusername/public_html/cgi-bin/PIL/Image.py", line 395, in _getencoder
    return encoder(mode, *args + extra)
TypeError: function takes at most 11 arguments (13 given) …
Run Code Online (Sandbox Code Playgroud)

python python-imaging-library

1
推荐指数
1
解决办法
1640
查看次数