V
Victor Hooi
Hi,
I have a Python script that's using a format string without positional specifiers. I.e.:
LOG_FILENAME = 'my_something_{}.log'.format(datetime.now().strftime('%Y-%d-%m_%H.%M.%S'))
I'm running this from within a virtualenv, running under Python 2.7.3.
$ python -V
Python 2.7.3
$ which python
/opt/my_project_venv/bin/python
The first line of the script is:
#!/usr/bin/env python
However, when I run this line, I get the following error:
Traceback (most recent call last):
File "my_script.py", line 25, in <module>
LOG_FILENAME = 'my_something_{}.log'.format(datetime.now().strftime('%Y-%d-%m_%H.%M.%S'))
ValueError: zero length field name in format
The weird thing, when I start a Python REPL and run that line interactively, it works fine:
$ python
Python 2.7.3 (default, Jan 7 2013, 11:52:52)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.my_project_2013-05-11_09.29.47.log
My understanding was that in Python 2.7/3.1, you could omit the positional specifiers in a format string.
Cheers,
Victor
I have a Python script that's using a format string without positional specifiers. I.e.:
LOG_FILENAME = 'my_something_{}.log'.format(datetime.now().strftime('%Y-%d-%m_%H.%M.%S'))
I'm running this from within a virtualenv, running under Python 2.7.3.
$ python -V
Python 2.7.3
$ which python
/opt/my_project_venv/bin/python
The first line of the script is:
#!/usr/bin/env python
However, when I run this line, I get the following error:
Traceback (most recent call last):
File "my_script.py", line 25, in <module>
LOG_FILENAME = 'my_something_{}.log'.format(datetime.now().strftime('%Y-%d-%m_%H.%M.%S'))
ValueError: zero length field name in format
The weird thing, when I start a Python REPL and run that line interactively, it works fine:
$ python
Python 2.7.3 (default, Jan 7 2013, 11:52:52)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.my_project_2013-05-11_09.29.47.log
My understanding was that in Python 2.7/3.1, you could omit the positional specifiers in a format string.
Cheers,
Victor