الفرق بين المراجعتين لصفحة: «Python/pprint/pprint»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 33: | سطر 33: | ||
'knights', | 'knights', | ||
'ni'] | 'ni'] | ||
</syntaxhighlight>يبين المثال التالي عددًا استخدامات الدالة <code>pprint()</code> ومعاملاتها، عن طريق جلب معلومات أحد المشاريع في PyPI:<syntaxhighlight lang="python3"> | |||
>>> import json | |||
>>> import pprint | |||
>>> from urllib.request import urlopen | |||
>>> with urlopen('http://pypi.org/project/Twisted/json') as url: | |||
... http_info = url.info() | |||
... raw_data = url.read().decode(http_info.get_content_charset()) | |||
>>> project_info = json.loads(raw_data) | |||
</syntaxhighlight>يؤدي استخدام الدالة <code>pprint()</code> بصيغتها الأساسية إلى عرض الكائن برمّته:<syntaxhighlight lang="python3"> | |||
>>> pprint.pprint(project_info) | |||
{'info': {'_pypi_hidden': False, | |||
'_pypi_ordering': 125, | |||
'author': 'Glyph Lefkowitz', | |||
'author_email': 'glyph@twistedmatrix.com', | |||
'bugtrack_url': '', | |||
'cheesecake_code_kwalitee_id': None, | |||
'cheesecake_documentation_id': None, | |||
'cheesecake_installability_id': None, | |||
'classifiers': ['Programming Language :: Python :: 2.6', | |||
'Programming Language :: Python :: 2.7', | |||
'Programming Language :: Python :: 2 :: Only'], | |||
'description': 'An extensible framework for Python programming, with ' | |||
'special focus\r\n' | |||
'on event-based network programming and multiprotocol ' | |||
'integration.', | |||
'docs_url': '', | |||
'download_url': 'UNKNOWN', | |||
'home_page': 'http://twistedmatrix.com/', | |||
'keywords': '', | |||
'license': 'MIT', | |||
'maintainer': '', | |||
'maintainer_email': '', | |||
'name': 'Twisted', | |||
'package_url': 'http://pypi.org/project/Twisted', | |||
'platform': 'UNKNOWN', | |||
'release_url': 'http://pypi.org/project/Twisted/12.3.0', | |||
'requires_python': None, | |||
'stable_version': None, | |||
'summary': 'An asynchronous networking framework written in Python', | |||
'version': '12.3.0'}, | |||
'urls': [{'comment_text': '', | |||
'downloads': 71844, | |||
'filename': 'Twisted-12.3.0.tar.bz2', | |||
'has_sig': False, | |||
'md5_digest': '6e289825f3bf5591cfd670874cc0862d', | |||
'packagetype': 'sdist', | |||
'python_version': 'source', | |||
'size': 2615733, | |||
'upload_time': '2012-12-26T12:47:03', | |||
'url': 'https://pypi.org/packages/source/T/Twisted/Twisted-12.3.0.tar.bz2'}, | |||
{'comment_text': '', | |||
'downloads': 5224, | |||
'filename': 'Twisted-12.3.0.win32-py2.7.msi', | |||
'has_sig': False, | |||
'md5_digest': '6b778f5201b622a5519a2aca1a2fe512', | |||
'packagetype': 'bdist_msi', | |||
'python_version': '2.7', | |||
'size': 2916352, | |||
'upload_time': '2012-12-26T12:48:15', | |||
'url': 'https://pypi.org/packages/2.7/T/Twisted/Twisted-12.3.0.win32-py2.7.msi'}]} | |||
</syntaxhighlight>يمكن تحديد النتيجة إلى عمق معين (تستخدم النقاط <code>...</code> لتمثيل المحتوى الأعمق):<syntaxhighlight lang="python3"> | |||
>>> pprint.pprint(project_info, depth=2) | |||
{'info': {'_pypi_hidden': False, | |||
'_pypi_ordering': 125, | |||
'author': 'Glyph Lefkowitz', | |||
'author_email': 'glyph@twistedmatrix.com', | |||
'bugtrack_url': '', | |||
'cheesecake_code_kwalitee_id': None, | |||
'cheesecake_documentation_id': None, | |||
'cheesecake_installability_id': None, | |||
'classifiers': [...], | |||
'description': 'An extensible framework for Python programming, with ' | |||
'special focus\r\n' | |||
'on event-based network programming and multiprotocol ' | |||
'integration.', | |||
'docs_url': '', | |||
'download_url': 'UNKNOWN', | |||
'home_page': 'http://twistedmatrix.com/', | |||
'keywords': '', | |||
'license': 'MIT', | |||
'maintainer': '', | |||
'maintainer_email': '', | |||
'name': 'Twisted', | |||
'package_url': 'http://pypi.org/project/Twisted', | |||
'platform': 'UNKNOWN', | |||
'release_url': 'http://pypi.org/project/Twisted/12.3.0', | |||
'requires_python': None, | |||
'stable_version': None, | |||
'summary': 'An asynchronous networking framework written in Python', | |||
'version': '12.3.0'}, | |||
'urls': [{...}, {...}]} | |||
</syntaxhighlight>إضافة لما سبق، يمكن تحديد أقصى عدد للحروف في السطر الواحد. إن كان الكائن طويلًا ولا يمكن تقسيمه فستتجاوز الدالة العرض المحدد:<syntaxhighlight lang="python3"> | |||
>>> pprint.pprint(project_info, depth=2, width=50) | |||
{'info': {'_pypi_hidden': False, | |||
'_pypi_ordering': 125, | |||
'author': 'Glyph Lefkowitz', | |||
'author_email': 'glyph@twistedmatrix.com', | |||
'bugtrack_url': '', | |||
'cheesecake_code_kwalitee_id': None, | |||
'cheesecake_documentation_id': None, | |||
'cheesecake_installability_id': None, | |||
'classifiers': [...], | |||
'description': 'An extensible ' | |||
'framework for Python ' | |||
'programming, with ' | |||
'special focus\r\n' | |||
'on event-based network ' | |||
'programming and ' | |||
'multiprotocol ' | |||
'integration.', | |||
'docs_url': '', | |||
'download_url': 'UNKNOWN', | |||
'home_page': 'http://twistedmatrix.com/', | |||
'keywords': '', | |||
'license': 'MIT', | |||
'maintainer': '', | |||
'maintainer_email': '', | |||
'name': 'Twisted', | |||
'package_url': 'http://pypi.org/project/Twisted', | |||
'platform': 'UNKNOWN', | |||
'release_url': 'http://pypi.org/project/Twisted/12.3.0', | |||
'requires_python': None, | |||
'stable_version': None, | |||
'summary': 'An asynchronous networking ' | |||
'framework written in ' | |||
'Python', | |||
'version': '12.3.0'}, | |||
'urls': [{...}, {...}]} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
المراجعة الحالية بتاريخ 19:08، 20 أغسطس 2018
تطبع الدالة التمثيل المنسّق للكائن المعطى في المخرجات المعطاة، متبوعًا بسطر جديد.
البنية العامة
pprint.pprint(object, stream=None, indent=1, width=80, depth=None, *, compact=False)
المعاملات
إن أخذ المعامل stream
القيمة None
فستستخدم الدالة sys.stdout
. يمكن استخدام هذه الدالة في مفسر بايثون التفاعلي عوضًا عن الدالة print()
لتفحّص القيم (يمكن كذلك إعادة إسناد print = pprint.pprint
لاستخدامها ضمن نطاق معين).
تُمرّر المعاملات indent
و width
و depth
و compact
إلى الدالة البانية للصنف PrettyPrinter
كمعاملات تنسيق.
ملاحظة: أضيف المعامل compact
في الإصدار 3.4 من اللغة.
القيمة المعادة
تطبع الدالة التمثيل المنسّق للكائن المعطى في المخرجات المعطاة، متبوعًا بسطر جديد.
أمثلة
يبين المثال التالي آلية عمل الدالة:
>>> import pprint
>>> stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
>>> stuff.insert(0, stuff)
>>> pprint.pprint(stuff)
[<Recursion on list with id=...>,
'spam',
'eggs',
'lumberjack',
'knights',
'ni']
يبين المثال التالي عددًا استخدامات الدالة pprint()
ومعاملاتها، عن طريق جلب معلومات أحد المشاريع في PyPI:
>>> import json
>>> import pprint
>>> from urllib.request import urlopen
>>> with urlopen('http://pypi.org/project/Twisted/json') as url:
... http_info = url.info()
... raw_data = url.read().decode(http_info.get_content_charset())
>>> project_info = json.loads(raw_data)
يؤدي استخدام الدالة pprint()
بصيغتها الأساسية إلى عرض الكائن برمّته:
>>> pprint.pprint(project_info)
{'info': {'_pypi_hidden': False,
'_pypi_ordering': 125,
'author': 'Glyph Lefkowitz',
'author_email': 'glyph@twistedmatrix.com',
'bugtrack_url': '',
'cheesecake_code_kwalitee_id': None,
'cheesecake_documentation_id': None,
'cheesecake_installability_id': None,
'classifiers': ['Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 2 :: Only'],
'description': 'An extensible framework for Python programming, with '
'special focus\r\n'
'on event-based network programming and multiprotocol '
'integration.',
'docs_url': '',
'download_url': 'UNKNOWN',
'home_page': 'http://twistedmatrix.com/',
'keywords': '',
'license': 'MIT',
'maintainer': '',
'maintainer_email': '',
'name': 'Twisted',
'package_url': 'http://pypi.org/project/Twisted',
'platform': 'UNKNOWN',
'release_url': 'http://pypi.org/project/Twisted/12.3.0',
'requires_python': None,
'stable_version': None,
'summary': 'An asynchronous networking framework written in Python',
'version': '12.3.0'},
'urls': [{'comment_text': '',
'downloads': 71844,
'filename': 'Twisted-12.3.0.tar.bz2',
'has_sig': False,
'md5_digest': '6e289825f3bf5591cfd670874cc0862d',
'packagetype': 'sdist',
'python_version': 'source',
'size': 2615733,
'upload_time': '2012-12-26T12:47:03',
'url': 'https://pypi.org/packages/source/T/Twisted/Twisted-12.3.0.tar.bz2'},
{'comment_text': '',
'downloads': 5224,
'filename': 'Twisted-12.3.0.win32-py2.7.msi',
'has_sig': False,
'md5_digest': '6b778f5201b622a5519a2aca1a2fe512',
'packagetype': 'bdist_msi',
'python_version': '2.7',
'size': 2916352,
'upload_time': '2012-12-26T12:48:15',
'url': 'https://pypi.org/packages/2.7/T/Twisted/Twisted-12.3.0.win32-py2.7.msi'}]}
يمكن تحديد النتيجة إلى عمق معين (تستخدم النقاط ...
لتمثيل المحتوى الأعمق):
>>> pprint.pprint(project_info, depth=2)
{'info': {'_pypi_hidden': False,
'_pypi_ordering': 125,
'author': 'Glyph Lefkowitz',
'author_email': 'glyph@twistedmatrix.com',
'bugtrack_url': '',
'cheesecake_code_kwalitee_id': None,
'cheesecake_documentation_id': None,
'cheesecake_installability_id': None,
'classifiers': [...],
'description': 'An extensible framework for Python programming, with '
'special focus\r\n'
'on event-based network programming and multiprotocol '
'integration.',
'docs_url': '',
'download_url': 'UNKNOWN',
'home_page': 'http://twistedmatrix.com/',
'keywords': '',
'license': 'MIT',
'maintainer': '',
'maintainer_email': '',
'name': 'Twisted',
'package_url': 'http://pypi.org/project/Twisted',
'platform': 'UNKNOWN',
'release_url': 'http://pypi.org/project/Twisted/12.3.0',
'requires_python': None,
'stable_version': None,
'summary': 'An asynchronous networking framework written in Python',
'version': '12.3.0'},
'urls': [{...}, {...}]}
إضافة لما سبق، يمكن تحديد أقصى عدد للحروف في السطر الواحد. إن كان الكائن طويلًا ولا يمكن تقسيمه فستتجاوز الدالة العرض المحدد:
>>> pprint.pprint(project_info, depth=2, width=50)
{'info': {'_pypi_hidden': False,
'_pypi_ordering': 125,
'author': 'Glyph Lefkowitz',
'author_email': 'glyph@twistedmatrix.com',
'bugtrack_url': '',
'cheesecake_code_kwalitee_id': None,
'cheesecake_documentation_id': None,
'cheesecake_installability_id': None,
'classifiers': [...],
'description': 'An extensible '
'framework for Python '
'programming, with '
'special focus\r\n'
'on event-based network '
'programming and '
'multiprotocol '
'integration.',
'docs_url': '',
'download_url': 'UNKNOWN',
'home_page': 'http://twistedmatrix.com/',
'keywords': '',
'license': 'MIT',
'maintainer': '',
'maintainer_email': '',
'name': 'Twisted',
'package_url': 'http://pypi.org/project/Twisted',
'platform': 'UNKNOWN',
'release_url': 'http://pypi.org/project/Twisted/12.3.0',
'requires_python': None,
'stable_version': None,
'summary': 'An asynchronous networking '
'framework written in '
'Python',
'version': '12.3.0'},
'urls': [{...}, {...}]}
انظر أيضًا
- التابع
PrettyPrinter.pprint()
: يطبع التابع التمثيل المنسّق للكائن المعطى على المخرجات المحدّدة في الدالة البانية للصنف PrettyPrinter متبوعًا بسطر جديد..