관리-도구
편집 파일: fix_print.cpython-36.opt-1.pyc
3 � f � @ sl d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZm Z m Z mZ ejd�Z G dd � d ej�Zd S )a Fixer for print. Change: 'print' into 'print()' 'print ...' into 'print(...)' 'print ... ,' into 'print(..., end=" ")' 'print >>x, ...' into 'print(..., file=x)' No changes are applied if print_function is imported from __future__ � )�patcomp)�pytree)�token)� fixer_base)�Name�Call�Comma�Stringz"atom< '(' [atom|STRING|NAME] ')' >c @ s$ e Zd ZdZdZdd� Zdd� ZdS )�FixPrintTzP simple_stmt< any* bare='print' any* > | print_stmt c C s` |j d�}|r,|jttd�g |jd�� d S |jdd � }t|�dkrXtj|d �rXd S d } }}|r�|d t � kr�|d d� }d}|r�|d t jtj d�kr�|d j� }|dd � }d d � |D �}|r�d|d _|d k s�|d k s�|d k �rF|d k �r| j|dtt|��� |d k �r.| j|d tt|��� |d k �rF| j|d|� ttd�|�} |j| _| S )NZbare�print)�prefix� � � z>>� c S s g | ]}|j � �qS � )�clone)�.0�argr r �</opt/alt/python36/lib64/python3.6/lib2to3/fixes/fix_print.py� <listcomp>? s z&FixPrint.transform.<locals>.<listcomp>� �sep�end�file���r )�get�replacer r r Zchildren�len�parend_expr�matchr r �Leafr � RIGHTSHIFTr � add_kwargr �repr) �selfZnodeZresultsZ bare_print�argsr r r Zl_argsZn_stmtr r r � transform% s8 zFixPrint.transformc C sN d|_ tj| jjt|�tjtjd�|f�}|r@|j t � � d|_ |j |� d S )Nr �=r )r r ZNodeZsymsZargumentr r! r �EQUAL�appendr )r% Zl_nodesZs_kwdZn_exprZ n_argumentr r r r# M s zFixPrint.add_kwargN)�__name__� __module__�__qualname__Z BM_compatibleZPATTERNr'