Python

ph
이동: 둘러보기, 검색

Check syntax without running

python -m py_compile script.py

http://stackoverflow.com/a/8437597/766330


Time

current time

>>> import time
>>> time.time()
1491792653.410371
>>> import datetime
>>> datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')
'2017-04-10 11:51:17'  
>>> datetime.datetime.utcnow()
datetime.datetime(2017, 4, 10, 2, 51, 34, 356682)
>>> datetime.datetime.now()
datetime.datetime(2017, 4, 10, 11, 51, 36, 572681)
>>> datetime.datetime.now().strftime("%A, %d. %B %Y %I:%M%p")
'Monday, 10. April 2017 11:51AM'

[1]

yesterday

>>> from datetime import date, timedelta
>>> yesterday = date.today() - timedelta(1)
>>> print yesterday.strftime('%m%d%y')
'110909'

[2]

strftime format manual


is and ==

is is identity testing, == is equality testing. what happens in your code would be emulated in the interpreter like this:

>>> a = 'pub'
>>> b = ''.join(['p', 'u', 'b'])
>>> a == b
True
>>> a is b
False

[3]




Access index in for loop

enumerate

for idx, val in enumerate(ints):
   print(idx, val)

[4]

Max integer

sys.maxint

[5]


Argument parsing

use argparse


range by step

>>> step = .1
>>> N = 10     # number of data points
>>> [ x / pow(step, -1) for x in range(0, N + 1) ]
[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0]

[6]


File existence

os.path.exists(file_path)

[7] [8]


Define source code encoding

첫째나 둘째줄에,

# coding=<encoding name>

보통 에디터들은 다음 형식을 이해함.

#!/usr/bin/python
# -*- coding: <encoding name> -*-

혹은

#!/usr/bin/python
# vim: set fileencoding=<encoding name> :

정확히는, 첫째나 둘째줄이 아래 정규식에 맞아야 함.

^[ \t\v]*#.*?coding[:=][ \t]*([-_.a-zA-Z0-9]+)

https://www.python.org/dev/peps/pep-0263/