# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2024, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR , YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.12\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-04 09:48+0200\n"
"PO-Revision-Date: 2025-11-29 09:18+0200\n"
"Last-Translator: Panagiotis Skias \n"
"Language-Team: PyGreece \n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.5\n"
#: tutorial/inputoutput.rst:5
msgid "Input and Output"
msgstr "Είσοδος και Έξοδος"
#: tutorial/inputoutput.rst:7
msgid ""
"There are several ways to present the output of a program; data can be "
"printed in a human-readable form, or written to a file for future use. This "
"chapter will discuss some of the possibilities."
msgstr ""
"Υπάρχουν διάφοροι τρόποι για να παρουσιάσετε τα αποτελέσματα ενός "
"προγράμματος· τα δεδομένα μπορούν να εκτυπωθούν σε μορφή αναγνώσιμη από τον "
"άνθρωπο ή να εγγραφούν σε ένα αρχείο για μελλοντική χρήση. Αυτό το κεφάλαιο "
"θα συζητήσει μερικές από τις δυνατότητες."
#: tutorial/inputoutput.rst:15
msgid "Fancier Output Formatting"
msgstr "Ομορφότερη Μορφοποίηση Εξόδου"
#: tutorial/inputoutput.rst:17
msgid ""
"So far we've encountered two ways of writing values: *expression statements* "
"and the :func:`print` function. (A third way is using the :meth:`~io."
"TextIOBase.write` method of file objects; the standard output file can be "
"referenced as ``sys.stdout``. See the Library Reference for more information "
"on this.)"
msgstr ""
"Μέχρι στιγμής έχουμε συναντήσει δύο τρόπους γραφής τιμών: *expression "
"statements* και τη συνάρτηση :func:`print`. (Ένας τρίτος τρόπος είναι η "
"χρήση της μεθόδου :meth:`~io.TextIOBase.write` των αντικειμένων αρχείων· το "
"standard αρχείο εξόδου μπορεί να αναφέρεται ως ``sys.stdout``. Δείτε την "
"Αναφορά Βιβλιοθήκης για περισσότερες πληροφορίες σχετικά με αυτό.)"
#: tutorial/inputoutput.rst:22
msgid ""
"Often you'll want more control over the formatting of your output than "
"simply printing space-separated values. There are several ways to format "
"output."
msgstr ""
"Συχνά θα θέλετε περισσότερο έλεγχο στη μορφοποίηση της εξόδου σας παρά απλώς "
"να εκτυπώνετε τιμές διαχωρισμένες με διάστημα. Υπάρχουν διάφοροι τρόποι για "
"να μορφοποιήσετε την έξοδο."
#: tutorial/inputoutput.rst:25
msgid ""
"To use :ref:`formatted string literals `, begin a string with "
"``f`` or ``F`` before the opening quotation mark or triple quotation mark. "
"Inside this string, you can write a Python expression between ``{`` and ``}"
"`` characters that can refer to variables or literal values."
msgstr ""
"Για να χρησιμοποιήσετε :ref:`formatted string literals `, "
"ξεκινήστε μια συμβολοσειρά με ``f`` or ``F`` πριν από το αρχικό εισαγωγικό ή "
"το τριπλό εισαγωγικό. Μέσα σε αυτήν την συμβολοσειρά, μπορείτε να γράψετε "
"μια έκφραση Python μεταξύ χαρακτήρων ``{`` και ``}`` που μπορεί να "
"αναφέρεται σε μεταβλητές ή κυριολεκτικές τιμές."
#: tutorial/inputoutput.rst:32
msgid ""
">>> year = 2016\n"
">>> event = 'Referendum'\n"
">>> f'Results of the {year} {event}'\n"
"'Results of the 2016 Referendum'"
msgstr ""
">>> year = 2016\n"
">>> event = 'Referendum'\n"
">>> f'Results of the {year} {event}'\n"
"'Results of the 2016 Referendum'"
#: tutorial/inputoutput.rst:37
msgid ""
"The :meth:`str.format` method of strings requires more manual effort. "
"You'll still use ``{`` and ``}`` to mark where a variable will be "
"substituted and can provide detailed formatting directives, but you'll also "
"need to provide the information to be formatted. In the following code block "
"there are two examples of how to format variables:"
msgstr ""
"Η μέθοδος :meth:`str.format` των συμβολοσειρών απαιτεί περισσότερη μη "
"χειροκίνητη προσπάθεια. Θα εξακολουθείτε να χρησιμοποιείτε τα ``{`` και ``}"
"`` για να επισημάνετε που θα αντικατασταθεί μια μεταβλητή και μπορεί να "
"παρέχει λεπτομερείς οδηγίες μορφοποίησης, αλλά θα χρειαστεί επίσης να "
"παρέχετε τις πληροφορίες που θα μορφοποιήσετε. Στο παρακάτω μπλοκ κώδικα "
"υπάρχουν δύο παραδείγματα για τον τρόπο μορφοποίησης μεταβλητών:"
#: tutorial/inputoutput.rst:46
msgid ""
">>> yes_votes = 42_572_654\n"
">>> total_votes = 85_705_149\n"
">>> percentage = yes_votes / total_votes\n"
">>> '{:-9} YES votes {:2.2%}'.format(yes_votes, percentage)\n"
"' 42572654 YES votes 49.67%'"
msgstr ""
">>> yes_votes = 42_572_654\n"
">>> total_votes = 85_705_149\n"
">>> percentage = yes_votes / total_votes\n"
">>> '{:-9} YES votes {:2.2%}'.format(yes_votes, percentage)\n"
"' 42572654 YES votes 49.67%'"
#: tutorial/inputoutput.rst:52
msgid ""
"Notice how the ``yes_votes`` are padded with spaces and a negative sign only "
"for negative numbers. The example also prints ``percentage`` multiplied by "
"100, with 2 decimal places and followed by a percent sign (see :ref:"
"`formatspec` for details)."
msgstr ""
"Παρατηρήστε πως τα ``yes_votes`` συμπληρώνονται με κενά και αρνητικό πρόσημο "
"μόνο για αρνητικούς αριθμούς. Το παράδειγμα εκτυπώνει επίσης το "
"``percentage`` πολλαπλασιασμένο επί 100, με 2 δεκαδικά ψηφία και "
"ακολουθούμενο από ένα σύμβολο ποσοστού (δείτε το :ref:`formatspec` για "
"λεπτομέρειες)."
#: tutorial/inputoutput.rst:57
msgid ""
"Finally, you can do all the string handling yourself by using string slicing "
"and concatenation operations to create any layout you can imagine. The "
"string type has some methods that perform useful operations for padding "
"strings to a given column width."
msgstr ""
"Τέλος, μπορείτε να κάνετε μόνοι σας όλο τον χειρισμό συμβολοσειράς "
"χρησιμοποιώντας λειτουργίες slicing και συνένωσης συμβολοσειρών για να "
"δημιουργήσετε οποιαδήποτε διάταξη μπορείτε να φανταστείτε. Ο τύπος "
"συμβολοσειράς έχει ορισμένες μεθόδους που εκτελούν χρήσιμες λειτουργίες για "
"την προσθήκη συμβολοσειρών σε ένα δεδομένο πλάτος στήλης."
#: tutorial/inputoutput.rst:62
msgid ""
"When you don't need fancy output but just want a quick display of some "
"variables for debugging purposes, you can convert any value to a string with "
"the :func:`repr` or :func:`str` functions."
msgstr ""
"Όταν δεν χρειάζεστε φανταχτερή έξοδο, άλλα θέλετε απλώς μια γρήγορη εμφάνιση "
"ορισμένων μεταβλητών για σκοπούς εντοπισμού σφαλμάτων, μπορείτε να "
"μετατρέψετε οποιαδήποτε τιμή σε μια συμβολοσειρά με τις συναρτήσεις :func:"
"`repr` ή :func:`str`."
#: tutorial/inputoutput.rst:66
msgid ""
"The :func:`str` function is meant to return representations of values which "
"are fairly human-readable, while :func:`repr` is meant to generate "
"representations which can be read by the interpreter (or will force a :exc:"
"`SyntaxError` if there is no equivalent syntax). For objects which don't "
"have a particular representation for human consumption, :func:`str` will "
"return the same value as :func:`repr`. Many values, such as numbers or "
"structures like lists and dictionaries, have the same representation using "
"either function. Strings, in particular, have two distinct representations."
msgstr ""
"Η συνάρτηση :func:`str` προορίζεται να επιστρέφει αναπαραστάσεις τιμών που "
"είναι αρκετά αναγνώσιμες από τον άνθρωπο, ενώ το :func:`repr` προορίζεται "
"για τη δημιουργία αναπαραστάσεων που μπορούν να διαβαστούν από τον διερμηνέα "
"(ή θα επιβάλουν ένα :exc:`SyntaxError` αν δεν υπάρχει ισοδύναμη σύνταξη). "
"Για αντικείμενα που δεν έχουν συγκεκριμένη αναπαράσταση για ανθρώπινη "
"κατανάλωση, η :func:`str` θα επιστρέψει την ίδια τιμή με το :func:`repr`. "
"Πολλές τιμές, όπως αριθμοί ή δομές όπως λίστες και λεξικά, έχουν την ίδια "
"αναπαράσταση χρησιμοποιώντας οποιαδήποτε συνάρτηση. Τα strings, "
"συγκεκριμένα, έχουν δύο διακριτές παραστάσεις."
#: tutorial/inputoutput.rst:75
msgid "Some examples::"
msgstr "Μερικά παραδείγματα::"
#: tutorial/inputoutput.rst:77
msgid ""
">>> s = 'Hello, world.'\n"
">>> str(s)\n"
"'Hello, world.'\n"
">>> repr(s)\n"
"\"'Hello, world.'\"\n"
">>> str(1/7)\n"
"'0.14285714285714285'\n"
">>> x = 10 * 3.25\n"
">>> y = 200 * 200\n"
">>> s = 'The value of x is ' + repr(x) + ', and y is ' + repr(y) + '...'\n"
">>> print(s)\n"
"The value of x is 32.5, and y is 40000...\n"
">>> # The repr() of a string adds string quotes and backslashes:\n"
">>> hello = 'hello, world\\n'\n"
">>> hellos = repr(hello)\n"
">>> print(hellos)\n"
"'hello, world\\n'\n"
">>> # The argument to repr() may be any Python object:\n"
">>> repr((x, y, ('spam', 'eggs')))\n"
"\"(32.5, 40000, ('spam', 'eggs'))\""
msgstr ""
">>> s = 'Hello, world.'\n"
">>> str(s)\n"
"'Hello, world.'\n"
">>> repr(s)\n"
"\"'Hello, world.'\"\n"
">>> str(1/7)\n"
"'0.14285714285714285'\n"
">>> x = 10 * 3.25\n"
">>> y = 200 * 200\n"
">>> s = 'The value of x is ' + repr(x) + ', and y is ' + repr(y) + '...'\n"
">>> print(s)\n"
"The value of x is 32.5, and y is 40000...\n"
">>> # The repr() of a string adds string quotes and backslashes:\n"
">>> hello = 'hello, world\\n'\n"
">>> hellos = repr(hello)\n"
">>> print(hellos)\n"
"'hello, world\\n'\n"
">>> # The argument to repr() may be any Python object:\n"
">>> repr((x, y, ('spam', 'eggs')))\n"
"\"(32.5, 40000, ('spam', 'eggs'))\""
#: tutorial/inputoutput.rst:98
msgid ""
"The :mod:`string` module contains support for a simple templating approach "
"based upon regular expressions, via :class:`string.Template`. This offers "
"yet another way to substitute values into strings, using placeholders like "
"``$x`` and replacing them with values from a dictionary. This syntax is easy "
"to use, although it offers much less control for formatting."
msgstr ""
"Το :mod:`string` module περιέχει υποστήριξη για μια απλή προσέγγιση "
"templating βασισμένη σε κανονικές εκφράσεις, μέσω της :class:`string."
"Template`. Αυτό προσφέρει έναν ακόμη τρόπο για να αντικαταστήσετε τιμές σε "
"συμβολοσειρές, χρησιμοποιώντας θέσεις κράτησης όπως ``$x`` και "
"αντικαθιστώντας τις με τιμές από ένα λεξικό."
#: tutorial/inputoutput.rst:115
msgid "Formatted String Literals"
msgstr "Μορφοποιημένα String Literals"
#: tutorial/inputoutput.rst:117
msgid ""
":ref:`Formatted string literals ` (also called f-strings for "
"short) let you include the value of Python expressions inside a string by "
"prefixing the string with ``f`` or ``F`` and writing expressions as "
"``{expression}``."
msgstr ""
"Τα :ref:`Formatted string literals ` (ονομάζονται επίσης f-"
"strings για συντομία) σας επιτρέπουν να συμπεριλάβετε την τιμή των εκφράσεων "
"Python μέσα σε μια συμβολοσειρά, θέτοντας πρόθεμα στη συμβολοσειρά με ``f`` "
"ή ``F`` και γράφοντας εκφράσεις ως ``{expression}``."
#: tutorial/inputoutput.rst:122
msgid ""
"An optional format specifier can follow the expression. This allows greater "
"control over how the value is formatted. The following example rounds pi to "
"three places after the decimal::"
msgstr ""
"Ένας προαιρετικός αναθέτης (specifier) μορφής μπορεί να ακολουθεί την "
"έκφραση. Αυτό επιτρέπει μεγαλύτερο έλεγχο στον τρόπο μορφοποίησης της τιμής. "
"Το παρακάτω παράδειγμα στρογγυλοποιεί το pi σε τρία ψηφία μετά το δεκαδικό::"
#: tutorial/inputoutput.rst:126
msgid ""
">>> import math\n"
">>> print(f'The value of pi is approximately {math.pi:.3f}.')\n"
"The value of pi is approximately 3.142."
msgstr ""
">>> import math\n"
">>> print(f'The value of pi is approximately {math.pi:.3f}.')\n"
"The value of pi is approximately 3.142."
#: tutorial/inputoutput.rst:130
msgid ""
"Passing an integer after the ``':'`` will cause that field to be a minimum "
"number of characters wide. This is useful for making columns line up. ::"
msgstr ""
"Η μετάδοση ενός ακέραιου αριθμού μετά το ``':'`` θα έχει ως αποτέλεσμα αυτό "
"το πεδίο να έχει πλάτος ελάχιστου αριθμού χαρακτήρων. Αυτό είναι χρήσιμο "
"για την ευθυγράμμιση στηλών. ::"
#: tutorial/inputoutput.rst:133
msgid ""
">>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}\n"
">>> for name, phone in table.items():\n"
"... print(f'{name:10} ==> {phone:10d}')\n"
"...\n"
"Sjoerd ==> 4127\n"
"Jack ==> 4098\n"
"Dcab ==> 7678"
msgstr ""
">>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}\n"
">>> for name, phone in table.items():\n"
"... print(f'{name:10} ==> {phone:10d}')\n"
"...\n"
"Sjoerd ==> 4127\n"
"Jack ==> 4098\n"
"Dcab ==> 7678"
#: tutorial/inputoutput.rst:141
msgid ""
"Other modifiers can be used to convert the value before it is formatted. ``'!"
"a'`` applies :func:`ascii`, ``'!s'`` applies :func:`str`, and ``'!r'`` "
"applies :func:`repr`::"
msgstr ""
"Μπορούν να χρησιμοποιηθούν άλλοι τροποποιητές για την μετατροπή της τιμής "
"πριν τη μορφοποίηση της. Το ``'!a'`` ισχύει για :func:`ascii`, το ``'!s'`` "
"ισχύει για :func:`str`, και το ``'!r'`` ισχύει για :func:`repr`::"
#: tutorial/inputoutput.rst:145
msgid ""
">>> animals = 'eels'\n"
">>> print(f'My hovercraft is full of {animals}.')\n"
"My hovercraft is full of eels.\n"
">>> print(f'My hovercraft is full of {animals!r}.')\n"
"My hovercraft is full of 'eels'."
msgstr ""
">>> animals = 'eels'\n"
">>> print(f'My hovercraft is full of {animals}.')\n"
"My hovercraft is full of eels.\n"
">>> print(f'My hovercraft is full of {animals!r}.')\n"
"My hovercraft is full of 'eels'."
#: tutorial/inputoutput.rst:151
msgid ""
"The ``=`` specifier can be used to expand an expression to the text of the "
"expression, an equal sign, then the representation of the evaluated "
"expression:"
msgstr ""
"Ο αναθέτης (specifier) ``=`` μπορεί να χρησιμοποιηθεί για να επεκτείνει μια "
"έκφραση στο κείμενο της έκφρασης, ένα σύμβολο ίσο, και μετά την αναπαράσταση "
"της αξιολογούμενης έκφρασης:"
#: tutorial/inputoutput.rst:160
msgid ""
"See :ref:`self-documenting expressions ` for more "
"information on the ``=`` specifier. For a reference on these format "
"specifications, see the reference guide for the :ref:`formatspec`."
msgstr ""
"Δείτε το :ref:`self-documenting expressions ` για "
"περισσότερες πληροφορίες σχετικά με τον αναθέτη (specifier) ``=``. Για "
"αναφορά σε αυτές τις προδιαγραφές μορφής, ανατρέξτε στον οδηγό αναφοράς για "
"το :ref:`formatspec`."
#: tutorial/inputoutput.rst:167
msgid "The String format() Method"
msgstr "Η μέθοδος String format()"
#: tutorial/inputoutput.rst:169
msgid "Basic usage of the :meth:`str.format` method looks like this::"
msgstr "Η βασική χρήση της μεθόδου :meth:`str.format` μοιάζει με αυτό::"
#: tutorial/inputoutput.rst:171
msgid ""
">>> print('We are the {} who say \"{}!\"'.format('knights', 'Ni'))\n"
"We are the knights who say \"Ni!\""
msgstr ""
">>> print('We are the {} who say \"{}!\"'.format('knights', 'Ni'))\n"
"We are the knights who say \"Ni!\""
#: tutorial/inputoutput.rst:174
msgid ""
"The brackets and characters within them (called format fields) are replaced "
"with the objects passed into the :meth:`str.format` method. A number in the "
"brackets can be used to refer to the position of the object passed into the :"
"meth:`str.format` method. ::"
msgstr ""
"Οι αγκύλες και οι χαρακτήρες μέσα σε αυτές (που ονομάζονται πεδία μορφής) "
"αντικαθίστανται με τα αντικείμενα που μεταβιβάζονται στη μέθοδο :meth:`str."
"format`. Ένας αριθμός στις αγκύλες μπορεί να χρησιμοποιηθεί για να "
"αναφέρεται στη θέση του αντικειμένου που μεταβιβάζεται στη μέθοδο :meth:`str."
"format`. ::"
#: tutorial/inputoutput.rst:179
msgid ""
">>> print('{0} and {1}'.format('spam', 'eggs'))\n"
"spam and eggs\n"
">>> print('{1} and {0}'.format('spam', 'eggs'))\n"
"eggs and spam"
msgstr ""
">>> print('{0} and {1}'.format('spam', 'eggs'))\n"
"spam and eggs\n"
">>> print('{1} and {0}'.format('spam', 'eggs'))\n"
"eggs and spam"
#: tutorial/inputoutput.rst:184
msgid ""
"If keyword arguments are used in the :meth:`str.format` method, their values "
"are referred to by using the name of the argument. ::"
msgstr ""
"Εάν χρησιμοποιούνται keyword ορίσματα στη μέθοδο :meth:`str.format`, οι "
"τιμές τους αναφέρονται χρησιμοποιώντας το όνομα του ορίσματος. ::"
#: tutorial/inputoutput.rst:187
msgid ""
">>> print('This {food} is {adjective}.'.format(\n"
"... food='spam', adjective='absolutely horrible'))\n"
"This spam is absolutely horrible."
msgstr ""
">>> print('This {food} is {adjective}.'.format(\n"
"... food='spam', adjective='absolutely horrible'))\n"
"This spam is absolutely horrible."
#: tutorial/inputoutput.rst:191
msgid "Positional and keyword arguments can be arbitrarily combined::"
msgstr ""
"Τα ορίσματα θέσης και λέξης-κλειδιού μπορούν να συνδυαστούν αυθαίρετα::"
#: tutorial/inputoutput.rst:193
msgid ""
">>> print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred',\n"
"... other='Georg'))\n"
"The story of Bill, Manfred, and Georg."
msgstr ""
">>> print('The story of {0}, {1}, and {other}.'.format('Bill', 'Manfred',\n"
"... other='Georg'))\n"
"The story of Bill, Manfred, and Georg."
#: tutorial/inputoutput.rst:197
msgid ""
"If you have a really long format string that you don't want to split up, it "
"would be nice if you could reference the variables to be formatted by name "
"instead of by position. This can be done by simply passing the dict and "
"using square brackets ``'[]'`` to access the keys. ::"
msgstr ""
"Εάν έχετε μια συμβολοσειρά πολύ μακριάς μορφής που δεν θέλετε να χωρίσετε, "
"θα ήταν ωραίο να αναφέρετε τις μεταβλητές που θα μορφοποιηθούν με βάση το "
"όνομα αντί για τη θέση. Αυτό μπορεί να γίνει απλά περνώντας το λεξικό και "
"χρησιμοποιώντας αγκύλες ``'[]'`` για πρόσβαση στα κλειδιά ::"
#: tutorial/inputoutput.rst:202
msgid ""
">>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}\n"
">>> print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; '\n"
"... 'Dcab: {0[Dcab]:d}'.format(table))\n"
"Jack: 4098; Sjoerd: 4127; Dcab: 8637678"
msgstr ""
">>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}\n"
">>> print('Jack: {0[Jack]:d}; Sjoerd: {0[Sjoerd]:d}; '\n"
"... 'Dcab: {0[Dcab]:d}'.format(table))\n"
"Jack: 4098; Sjoerd: 4127; Dcab: 8637678"
#: tutorial/inputoutput.rst:207
msgid ""
"This could also be done by passing the ``table`` dictionary as keyword "
"arguments with the ``**`` notation. ::"
msgstr ""
"Αυτό θα μπορούσε επίσης να γίνει περνώντας το λεξικό ``table`` ως ορίσματα "
"λέξεων-κλειδιών με την σημείωση ``**``. ::"
#: tutorial/inputoutput.rst:210
msgid ""
">>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}\n"
">>> print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'."
"format(**table))\n"
"Jack: 4098; Sjoerd: 4127; Dcab: 8637678"
msgstr ""
">>> table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 8637678}\n"
">>> print('Jack: {Jack:d}; Sjoerd: {Sjoerd:d}; Dcab: {Dcab:d}'."
"format(**table))\n"
"Jack: 4098; Sjoerd: 4127; Dcab: 8637678"
#: tutorial/inputoutput.rst:214
msgid ""
"This is particularly useful in combination with the built-in function :func:"
"`vars`, which returns a dictionary containing all local variables::"
msgstr ""
"Αυτό είναι ιδιαίτερα χρήσιμο σε συνδυασμό με την ενσωματωμένη (built-in) "
"συνάρτηση :func:`vars`, η οποία επιστρέφει ένα λεξικό που περιέχει όλες τις "
"τοπικές μεταβλητές::"
#: tutorial/inputoutput.rst:217
msgid ""
">>> table = {k: str(v) for k, v in vars().items()}\n"
">>> message = \" \".join([f'{k}: ' + '{' + k +'};' for k in table.keys()])\n"
">>> print(message.format(**table))\n"
"__name__: __main__; __doc__: None; __package__: None; __loader__: ..."
msgstr ""
">>> table = {k: str(v) for k, v in vars().items()}\n"
">>> message = \" \".join([f'{k}: ' + '{' + k +'};' for k in table.keys()])\n"
">>> print(message.format(**table))\n"
"__name__: __main__; __doc__: None; __package__: None; __loader__: ..."
#: tutorial/inputoutput.rst:222
msgid ""
"As an example, the following lines produce a tidily aligned set of columns "
"giving integers and their squares and cubes::"
msgstr ""
"Για παράδειγμα, οι ακόλουθες γραμμές παράγουν ένα τακτοποιημένο σύνολο "
"στηλών που δίνουν ακέραιους αριθμούς και τα τετράγωνα και τους κύβους τους::"
#: tutorial/inputoutput.rst:225
msgid ""
">>> for x in range(1, 11):\n"
"... print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))\n"
"...\n"
" 1 1 1\n"
" 2 4 8\n"
" 3 9 27\n"
" 4 16 64\n"
" 5 25 125\n"
" 6 36 216\n"
" 7 49 343\n"
" 8 64 512\n"
" 9 81 729\n"
"10 100 1000"
msgstr ""
">>> for x in range(1, 11):\n"
"... print('{0:2d} {1:3d} {2:4d}'.format(x, x*x, x*x*x))\n"
"...\n"
" 1 1 1\n"
" 2 4 8\n"
" 3 9 27\n"
" 4 16 64\n"
" 5 25 125\n"
" 6 36 216\n"
" 7 49 343\n"
" 8 64 512\n"
" 9 81 729\n"
"10 100 1000"
#: tutorial/inputoutput.rst:239
msgid ""
"For a complete overview of string formatting with :meth:`str.format`, see :"
"ref:`formatstrings`."
msgstr ""
"Για μια πλήρη επισκόπηση της μορφοποίησης συμβολοσειρών με :meth:`str."
"format`, δείτε :ref:`formatstrings`."
#: tutorial/inputoutput.rst:244
msgid "Manual String Formatting"
msgstr "Χειροκίνητη Μορφοποίηση Συμβολοσειρών"
#: tutorial/inputoutput.rst:246
msgid "Here's the same table of squares and cubes, formatted manually::"
msgstr ""
"Ακολουθεί ο ίδιος πίνακας τετραγώνων και κύβων, μορφοποιημένος χειροκίνητα::"
#: tutorial/inputoutput.rst:248
msgid ""
">>> for x in range(1, 11):\n"
"... print(repr(x).rjust(2), repr(x*x).rjust(3), end=' ')\n"
"... # Note use of 'end' on previous line\n"
"... print(repr(x*x*x).rjust(4))\n"
"...\n"
" 1 1 1\n"
" 2 4 8\n"
" 3 9 27\n"
" 4 16 64\n"
" 5 25 125\n"
" 6 36 216\n"
" 7 49 343\n"
" 8 64 512\n"
" 9 81 729\n"
"10 100 1000"
msgstr ""
">>> for x in range(1, 11):\n"
"... print(repr(x).rjust(2), repr(x*x).rjust(3), end=' ')\n"
"... # Note use of 'end' on previous line\n"
"... print(repr(x*x*x).rjust(4))\n"
"...\n"
" 1 1 1\n"
" 2 4 8\n"
" 3 9 27\n"
" 4 16 64\n"
" 5 25 125\n"
" 6 36 216\n"
" 7 49 343\n"
" 8 64 512\n"
" 9 81 729\n"
"10 100 1000"
#: tutorial/inputoutput.rst:264
msgid ""
"(Note that the one space between each column was added by the way :func:"
"`print` works: it always adds spaces between its arguments.)"
msgstr ""
"(Σημειώστε ότι το ένα κενό μεταξύ κάθε στήλης προστέθηκε με τον τρόπο που "
"λειτουργεί το :func:`print`: προσθέτει πάντα κενά μεταξύ των ορισμάτων του.)"
#: tutorial/inputoutput.rst:267
msgid ""
"The :meth:`str.rjust` method of string objects right-justifies a string in a "
"field of a given width by padding it with spaces on the left. There are "
"similar methods :meth:`str.ljust` and :meth:`str.center`. These methods do "
"not write anything, they just return a new string. If the input string is "
"too long, they don't truncate it, but return it unchanged; this will mess up "
"your column lay-out but that's usually better than the alternative, which "
"would be lying about a value. (If you really want truncation you can always "
"add a slice operation, as in ``x.ljust(n)[:n]``.)"
msgstr ""
"Η μέθοδος :meth:`str.rjust` των αντικειμένων συμβολοσειράς τοποθετεί δεξιά "
"μια συμβολοσειρά σε ένα πεδίο δεδομένου πλάτους συμπληρώνοντας την με κενά "
"στα αριστερά. Υπάρχουν παρόμοιες μέθοδοι :meth:`str.ljust` και :meth:`str."
"center`. Αυτές οι μέθοδοι δεν γράφουν τίποτα, απλώς επιστρέφουν μια "
"συμβολοσειρά. Εάν η συμβολοσειρά εισόδου είναι πολύ μεγάλη, δεν την "
"περικόπτουν, αλλά την επιστρέφουν αμετάβλητη· αυτό θα μπερδέψει τη διάταξη "
"της στήλης σας, αλλά αυτό είναι συνήθως καλύτερο από την εναλλακτική, που θα "
"ήταν ψέματα για μια τιμή. (Αν θέλετε πραγματικά περικοπή, μπορείτε πάντα να "
"προσθέσετε μια λειτουργία slice, όπως στο ``x.ljust(n)[:n]``.)"
#: tutorial/inputoutput.rst:276
msgid ""
"There is another method, :meth:`str.zfill`, which pads a numeric string on "
"the left with zeros. It understands about plus and minus signs::"
msgstr ""
"Υπάρχει μια άλλη μέθοδος, η :meth:`str.zfill`, η οποία συμπληρώνει μια "
"αριθμητική συμβολοσειρά στα αριστερά με μηδενικά. Καταλαβαίνει τα σύμβολα "
"συν και πλην::"
#: tutorial/inputoutput.rst:279
msgid ""
">>> '12'.zfill(5)\n"
"'00012'\n"
">>> '-3.14'.zfill(7)\n"
"'-003.14'\n"
">>> '3.14159265359'.zfill(5)\n"
"'3.14159265359'"
msgstr ""
">>> '12'.zfill(5)\n"
"'00012'\n"
">>> '-3.14'.zfill(7)\n"
"'-003.14'\n"
">>> '3.14159265359'.zfill(5)\n"
"'3.14159265359'"
#: tutorial/inputoutput.rst:288
msgid "Old string formatting"
msgstr "Παλιά μορφοποίηση συμβολοσειράς"
#: tutorial/inputoutput.rst:290
msgid ""
"The % operator (modulo) can also be used for string formatting. Given "
"``format % values`` (where *format* is a string), ``%`` conversion "
"specifications in *format* are replaced with zero or more elements of "
"*values*. This operation is commonly known as string interpolation. For "
"example::"
msgstr ""
"Ο τελεστής % (modulo) μπορεί επίσης να χρησιμοποιηθεί για τη μορφοποίηση "
"συμβολοσειρών. Δεδομένων των τιμών ``format % values`` (όπου *format* είναι "
"μια συμβολοσειρά), οι προδιαγραφές μετατροπής ``%`` σε *format* "
"αντικαθίστανται με μηδέν ή περισσότερα στοιχεία *τιμών*. Αυτή η λειτουργία "
"είναι κοινώς γνωστή ως παρεμβολή συμβολοσειρών. Για παράδειγμα::"
#: tutorial/inputoutput.rst:297
msgid ""
">>> import math\n"
">>> print('The value of pi is approximately %5.3f.' % math.pi)\n"
"The value of pi is approximately 3.142."
msgstr ""
">>> import math\n"
">>> print('The value of pi is approximately %5.3f.' % math.pi)\n"
"The value of pi is approximately 3.142."
#: tutorial/inputoutput.rst:301
msgid ""
"More information can be found in the :ref:`old-string-formatting` section."
msgstr ""
"Περισσότερες πληροφορίες μπορείτε να βρείτε στην ενότητα :ref:`old-string-"
"formatting`."
#: tutorial/inputoutput.rst:307
msgid "Reading and Writing Files"
msgstr "Ανάγνωση και Εγγραφή Αρχείων"
#: tutorial/inputoutput.rst:313
msgid ""
":func:`open` returns a :term:`file object`, and is most commonly used with "
"two positional arguments and one keyword argument: ``open(filename, mode, "
"encoding=None)``"
msgstr ""
"Η :func:`open` επιστρέφει ένα :term:`file object`, και χρησιμοποιείται πιο "
"συχνά με δύο ορίσματα θέσης και ένα όρισμα λέξης-κλειδιού: ``open(filename, "
"mode, encoding=None)``"
#: tutorial/inputoutput.rst:319
msgid ">>> f = open('workfile', 'w', encoding=\"utf-8\")"
msgstr ">>> f = open('workfile', 'w', encoding=\"utf-8\")"
#: tutorial/inputoutput.rst:326
msgid ""
"The first argument is a string containing the filename. The second argument "
"is another string containing a few characters describing the way in which "
"the file will be used. *mode* can be ``'r'`` when the file will only be "
"read, ``'w'`` for only writing (an existing file with the same name will be "
"erased), and ``'a'`` opens the file for appending; any data written to the "
"file is automatically added to the end. ``'r+'`` opens the file for both "
"reading and writing. The *mode* argument is optional; ``'r'`` will be "
"assumed if it's omitted."
msgstr ""
"Το πρώτο όρισμα είναι μια συμβολοσειρά που περιέχει το όνομα αρχείου. Το "
"δεύτερο όρισμα είναι μια άλλη συμβολοσειρά που περιέχει μερικούς χαρακτήρες "
"που περιγράφουν τον τρόπο με τον οποίο θα χρησιμοποιηθεί το αρχείο. Η *mode* "
"μπορεί να είναι ``'r'`` όταν το αρχείο θα είναι μόνο για διάβασμα, ``'w'`` "
"μόνο για εγγραφή (ένα υπάρχον αρχείο με το ίδιο όνομα θα διαγραφεί) και το "
"``'a'`` ανοίγει το αρχείο για προσάρτηση· οποιαδήποτε δεδομένα γράφονται στο "
"αρχείο και προστίθενται αυτόματα στο τέλος. Το ``'r+'`` ανοίγει το αρχείο "
"τόσο για ανάγνωση όσο και για γραφή. Το όρισμα *mode* είναι προαιρετικό· το "
"``'r'`` θα θεωρείται εάν παραληφθεί."
#: tutorial/inputoutput.rst:335
msgid ""
"Normally, files are opened in :dfn:`text mode`, that means, you read and "
"write strings from and to the file, which are encoded in a specific "
"*encoding*. If *encoding* is not specified, the default is platform "
"dependent (see :func:`open`). Because UTF-8 is the modern de-facto standard, "
"``encoding=\"utf-8\"`` is recommended unless you know that you need to use a "
"different encoding. Appending a ``'b'`` to the mode opens the file in :dfn:"
"`binary mode`. Binary mode data is read and written as :class:`bytes` "
"objects. You can not specify *encoding* when opening file in binary mode."
msgstr ""
"Κανονικά, τα αρχεία ανοίγουν σε :dfn:`text mode`, που σημαίνει ότι διαβάζετε "
"και γράφετε συμβολοσειρές από και προς το αρχείο, οι οποίες κωδικοποιούνται "
"σε μια συγκεκριμένη *κωδικοποίηση*. Εάν δεν έχει καθοριστεί η "
"*κωδικοποιήση*, η προεπιλογή είναι εξαρτώμενη από την πλατφόρμα (δείτε :func:"
"`open`). Επειδή το UTF-8 είναι το σύγχρονο de-facto standard, "
"``encoding=\"utf-8\"`` συνίσταται εκτός εάν γνωρίζετε ότι πρέπει να "
"χρησιμοποιήσετε διαφορετική κωδικοποίηση. Η προσθήκη ενός ``'b'`` στη "
"λειτουργία ανοίγει το αρχείο σε :dfn:`binary mode`. Τα δεδομένα δυαδικής "
"λειτουργίας διαβάζονται και γράφονται ως αντικείμενα :class:`bytes`. Δεν "
"μπορείτε να καθορίσετε *κωδικοποίηση* όταν ανοίγετε αρχείο σε δυαδική "
"λειτουργία."
#: tutorial/inputoutput.rst:345
msgid ""
"In text mode, the default when reading is to convert platform-specific line "
"endings (``\\n`` on Unix, ``\\r\\n`` on Windows) to just ``\\n``. When "
"writing in text mode, the default is to convert occurrences of ``\\n`` back "
"to platform-specific line endings. This behind-the-scenes modification to "
"file data is fine for text files, but will corrupt binary data like that in :"
"file:`JPEG` or :file:`EXE` files. Be very careful to use binary mode when "
"reading and writing such files."
msgstr ""
"Στη λειτουργία κειμένου, η προεπιλογή (default) κατά την ανάγνωση είναι να "
"μετατρέψετε τις καταλήξεις γραμμών για συγκεκριμένη πλατφόρμα (``\\n`` στο "
"Unix, ``\\r\\n`` στα Windows) σε μόνο ``\\n``. Όταν γράφετε σε λειτουργία "
"κειμένου, η προεπιλογή είναι να μετατρέπονται οι εμφανίσεις ``\\n`` σε "
"καταλήξεις γραμμών για συγκεκριμένη πλατφόρμα. Αυτή η παρασκηνιακή "
"τροποποίηση στα δεδομένα αρχείων είναι καλή για αρχεία κειμένου, αλλά θα "
"καταστρέψει δυαδικά δεδομένα όπως αυτό σε αρχεία :file:`JPEG` ή :file:"
"`EXE`. Να είστε πολύ προσεκτικοί να χρησιμοποιείτε τη δυαδική λειτουργία "
"όταν διαβάζετε και γράφετε τέτοια αρχεία."
#: tutorial/inputoutput.rst:353
msgid ""
"It is good practice to use the :keyword:`with` keyword when dealing with "
"file objects. The advantage is that the file is properly closed after its "
"suite finishes, even if an exception is raised at some point. Using :"
"keyword:`!with` is also much shorter than writing equivalent :keyword:"
"`try`\\ -\\ :keyword:`finally` blocks::"
msgstr ""
"Είναι καλή πρακτική να χρησιμοποιείτε το keyword :keyword:`with` όταν "
"ασχολούμαστε με αντικείμενα αρχείου. Το πλεονέκτημα είναι ότι το αρχείο "
"κλείνει σωστά μετά την ολοκλήρωση της εκτέλεσής του, ακόμα κι αν κάποια "
"στιγμή προκύψει εξαίρεση. Χρησιμοποιώντας το :keyword:`!with` είναι επίσης "
"πολύ πιο σύντομο από την σύνταξη ισοδύναμου :keyword:`try`\\ -\\ :keyword:"
"`finally` blocks::"
#: tutorial/inputoutput.rst:359
msgid ""
">>> with open('workfile', encoding=\"utf-8\") as f:\n"
"... read_data = f.read()\n"
"\n"
">>> # We can check that the file has been automatically closed.\n"
">>> f.closed\n"
"True"
msgstr ""
">>> with open('workfile', encoding=\"utf-8\") as f:\n"
"... read_data = f.read()\n"
"\n"
">>> # We can check that the file has been automatically closed.\n"
">>> f.closed\n"
"True"
#: tutorial/inputoutput.rst:366
msgid ""
"If you're not using the :keyword:`with` keyword, then you should call ``f."
"close()`` to close the file and immediately free up any system resources "
"used by it."
msgstr ""
"Εάν δεν χρησιμοποιείτε τη keyword :keyword:`with`, τότε θα πρέπει να καλείτε "
"τη ``f.close()`` για να κλείσετε το αρχείο και να ελευθερώσετε αμέσως τυχόν "
"πόρους συστήματος που χρησιμοποιούνται από αυτό."
#: tutorial/inputoutput.rst:371
msgid ""
"Calling ``f.write()`` without using the :keyword:`!with` keyword or calling "
"``f.close()`` **might** result in the arguments of ``f.write()`` not being "
"completely written to the disk, even if the program exits successfully."
msgstr ""
"Η κλήση του ``f.write()`` χωρίς τη χρήση της keyword :keyword:`!with` ή η "
"κλήση του ``f.close()`` **μπορεί** να οδηγήσει στα ορίσματα του ``f."
"write()`` να μην εγγραφεί πλήρως στο δίσκο, ακόμα και αν το πρόγραμμα "
"εξέλθει με επιτυχία."
#: tutorial/inputoutput.rst:379
msgid ""
"After a file object is closed, either by a :keyword:`with` statement or by "
"calling ``f.close()``, attempts to use the file object will automatically "
"fail. ::"
msgstr ""
"Μετά το κλείσιμο ενός αντικειμένου αρχείου, είτε μια δήλωση :keyword:`with` "
"είτε καλώντας ``f.close()``, οι προσπάθειες χρήσης του αντικειμένου αρχείου "
"θα αποτύχουν αυτόματα. ::"
#: tutorial/inputoutput.rst:383
msgid ""
">>> f.close()\n"
">>> f.read()\n"
"Traceback (most recent call last):\n"
" File \"\", line 1, in \n"
"ValueError: I/O operation on closed file."
msgstr ""
">>> f.close()\n"
">>> f.read()\n"
"Traceback (most recent call last):\n"
" File \"\", line 1, in \n"
"ValueError: I/O operation on closed file."
#: tutorial/inputoutput.rst:393
msgid "Methods of File Objects"
msgstr "Μέθοδοι Αντικειμένων Αρχείων"
#: tutorial/inputoutput.rst:395
msgid ""
"The rest of the examples in this section will assume that a file object "
"called ``f`` has already been created."
msgstr ""
"Τα υπόλοιπα παραδείγματα σε αυτήν την ενότητα θα υποθέσουν ότι ένα "
"αντικείμενο αρχείου που ονομάζεται ``f`` έχει ήδη δημιουργηθεί."
#: tutorial/inputoutput.rst:398
msgid ""
"To read a file's contents, call ``f.read(size)``, which reads some quantity "
"of data and returns it as a string (in text mode) or bytes object (in binary "
"mode). *size* is an optional numeric argument. When *size* is omitted or "
"negative, the entire contents of the file will be read and returned; it's "
"your problem if the file is twice as large as your machine's memory. "
"Otherwise, at most *size* characters (in text mode) or *size* bytes (in "
"binary mode) are read and returned. If the end of the file has been reached, "
"``f.read()`` will return an empty string (``''``). ::"
msgstr ""
"Για να διαβάσετε τα περιεχόμενα ενός αρχείου, καλέστε το ``f.read(size)``, "
"το οποίο διαβάζει κάποια ποσότητα δεδομένων και την επιστρέφει ως "
"συμβολοσειρά (σε λειτουργία κειμένου) ή ως αντικείμενο bytes (σε δυαδική "
"λειτουργία). Το *size* είναι προαιρετικό αριθμητικό όρισμα. Όταν το *size* "
"παραλείπεται ή είναι αρνητικό, ολόκληρο το περιεχόμενο του αρχείου θα "
"διαβαστεί και θα επιστραφεί∙ είναι δικό σας πρόβλημα εάν το αρχείο είναι "
"διπλάσιο από τη μνήμη του υπολογιστή σας. Διαφορετικά, διαβάζονται και "
"επιστρέφονται το πολύ *size* χαρακτήρες (σε λειτουργία κειμένου) ή byte "
"*size* (σε δυαδική λειτουργία). Εάν έχει φτάσει το τέλος του αρχείου, το ``f."
"read()`` θα επιστρέψει μια κενή συμβολοσειρά (``''``). ::"
#: tutorial/inputoutput.rst:407
msgid ""
">>> f.read()\n"
"'This is the entire file.\\n'\n"
">>> f.read()\n"
"''"
msgstr ""
">>> f.read()\n"
"'This is the entire file.\\n'\n"
">>> f.read()\n"
"''"
#: tutorial/inputoutput.rst:412
msgid ""
"``f.readline()`` reads a single line from the file; a newline character "
"(``\\n``) is left at the end of the string, and is only omitted on the last "
"line of the file if the file doesn't end in a newline. This makes the "
"return value unambiguous; if ``f.readline()`` returns an empty string, the "
"end of the file has been reached, while a blank line is represented by "
"``'\\n'``, a string containing only a single newline. ::"
msgstr ""
"Το ``f.readline()`` διαβάζει μία γραμμή από το αρχείο· ένας χαρακτήρας νέας "
"γραμμής (``\\n``) παραμένει στο τέλος της συμβολοσειράς, και παραλείπεται "
"μόνο στην τελευταία γραμμή του αρχείου εάν το αρχείο δεν τελειώνει σε μια "
"νέα γραμμή. Αυτό καθιστά την τιμή επιστροφής σαφή· εάν το ``f.readline()`` "
"επιστρέφει μια κενή συμβολοσειρά, έχει φτάσει στο τέλος του αρχείου, ενώ μια "
"κενή γραμμή αντιπροσωπεύεται από ``'\\n'``, μια συμβολοσειρά που περιέχει "
"μόνο μία νέα γραμμή. ::"
#: tutorial/inputoutput.rst:419
msgid ""
">>> f.readline()\n"
"'This is the first line of the file.\\n'\n"
">>> f.readline()\n"
"'Second line of the file\\n'\n"
">>> f.readline()\n"
"''"
msgstr ""
">>> f.readline()\n"
"'This is the first line of the file.\\n'\n"
">>> f.readline()\n"
"'Second line of the file\\n'\n"
">>> f.readline()\n"
"''"
#: tutorial/inputoutput.rst:426
msgid ""
"For reading lines from a file, you can loop over the file object. This is "
"memory efficient, fast, and leads to simple code::"
msgstr ""
"Για την ανάγνωση γραμμών από ένα αρχείο, μπορείτε να κάνετε loop πάνω από το "
"αντικείμενο του αρχείου. Αυτό είναι αποδοτικό στη μνήμη, γρήγορο και οδηγεί "
"σε απλό κώδικα::"
#: tutorial/inputoutput.rst:429
msgid ""
">>> for line in f:\n"
"... print(line, end='')\n"
"...\n"
"This is the first line of the file.\n"
"Second line of the file"
msgstr ""
">>> for line in f:\n"
"... print(line, end='')\n"
"...\n"
"This is the first line of the file.\n"
"Second line of the file"
#: tutorial/inputoutput.rst:435
msgid ""
"If you want to read all the lines of a file in a list you can also use "
"``list(f)`` or ``f.readlines()``."
msgstr ""
"Εάν θέλετε να διαβάσετε όλες τις γραμμές ενός αρχείου σε μια λίστα, μπορείτε "
"επίσης να χρησιμοποιήσετε το ``list(f)`` ή ``f.readlines()``."
#: tutorial/inputoutput.rst:438
msgid ""
"``f.write(string)`` writes the contents of *string* to the file, returning "
"the number of characters written. ::"
msgstr ""
"Το ``f.write(string)`` γράφει τα περιεχόμενα του *string* στο αρχείο, "
"επιστρέφοντας τον αριθμό των χαρακτήρων που γράφτηκαν. ::"
#: tutorial/inputoutput.rst:441
msgid ""
">>> f.write('This is a test\\n')\n"
"15"
msgstr ""
">>> f.write('This is a test\\n')\n"
"15"
#: tutorial/inputoutput.rst:444
msgid ""
"Other types of objects need to be converted -- either to a string (in text "
"mode) or a bytes object (in binary mode) -- before writing them::"
msgstr ""
"Άλλοι τύποι αντικειμένων πρέπει να μετατραπούν -- είτε σε μια συμβολοσειρά "
"(σε λειτουργία κειμένου) ή σε ένα αντικείμενο bytes (σε δυαδική λειτουργία) "
"-- πριν τα γράψετε::"
#: tutorial/inputoutput.rst:447
msgid ""
">>> value = ('the answer', 42)\n"
">>> s = str(value) # convert the tuple to string\n"
">>> f.write(s)\n"
"18"
msgstr ""
">>> value = ('the answer', 42)\n"
">>> s = str(value) # convert the tuple to string\n"
">>> f.write(s)\n"
"18"
#: tutorial/inputoutput.rst:452
msgid ""
"``f.tell()`` returns an integer giving the file object's current position in "
"the file represented as number of bytes from the beginning of the file when "
"in binary mode and an opaque number when in text mode."
msgstr ""
"Το ``f.tell()`` επιστρέφει έναν ακέραιο που δίνει την τρέχουσα θέση του "
"αντικειμένου αρχείου στο αρχείο που αντιπροσωπεύεται ως αριθμό byte από την "
"αρχή του αρχείου όταν βρίσκεται σε δυαδική λειτουργία και έναν αδιαφανή "
"αριθμό όταν βρίσκεται σε λειτουργία κειμένου."
#: tutorial/inputoutput.rst:456
msgid ""
"To change the file object's position, use ``f.seek(offset, whence)``. The "
"position is computed from adding *offset* to a reference point; the "
"reference point is selected by the *whence* argument. A *whence* value of 0 "
"measures from the beginning of the file, 1 uses the current file position, "
"and 2 uses the end of the file as the reference point. *whence* can be "
"omitted and defaults to 0, using the beginning of the file as the reference "
"point. ::"
msgstr ""
"Για να αλλάξετε τη θέση του αντικειμένου, χρησιμοποιήστε το ``f.seek(offset, "
"whence)``. Η θέση υπολογίζεται από την προσθήκη *offset* σε ένα σημείο "
"αναφοράς· το σημείο αναφοράς επιλέγεται από το όρισμα *whence*. Μια 0 τιμή "
"*whence* μετρά από την αρχή του αρχείο το 1 χρησιμοποιεί την τρέχουσα θέση "
"αρχείου και το 2 χρησιμοποιεί το τέλος του αρχείου ως σημείο αναφοράς. Το "
"*whence* μπορεί να παραληφθεί και να οριστεί από προεπιλογή 0, "
"χρησιμοποιώντας την αρχή του αρχείου ως σημείο αναφοράς. ::"
#: tutorial/inputoutput.rst:463
msgid ""
">>> f = open('workfile', 'rb+')\n"
">>> f.write(b'0123456789abcdef')\n"
"16\n"
">>> f.seek(5) # Go to the 6th byte in the file\n"
"5\n"
">>> f.read(1)\n"
"b'5'\n"
">>> f.seek(-3, 2) # Go to the 3rd byte before the end\n"
"13\n"
">>> f.read(1)\n"
"b'd'"
msgstr ""
">>> f = open('workfile', 'rb+')\n"
">>> f.write(b'0123456789abcdef')\n"
"16\n"
">>> f.seek(5) # Go to the 6th byte in the file\n"
"5\n"
">>> f.read(1)\n"
"b'5'\n"
">>> f.seek(-3, 2) # Go to the 3rd byte before the end\n"
"13\n"
">>> f.read(1)\n"
"b'd'"
#: tutorial/inputoutput.rst:475
msgid ""
"In text files (those opened without a ``b`` in the mode string), only seeks "
"relative to the beginning of the file are allowed (the exception being "
"seeking to the very file end with ``seek(0, 2)``) and the only valid "
"*offset* values are those returned from the ``f.tell()``, or zero. Any other "
"*offset* value produces undefined behaviour."
msgstr ""
"Σε αρχεία κειμένου (αυτά που ανοίγουν χωρίς ``b`` στη λειτουργία string), "
"επιτρέπονται μόνο αναζητήσεις σε σχέση με την αρχή του αρχείου (η εξαίρεση "
"είναι η αναζήτηση μέχρι το ίδιο το αρχείο που τελειώνει με ``seek(0, 2)``) "
"και οι μόνες έγκυρες τιμές *offset* είναι αυτές που επιστρέφονται από το ``f."
"tell()``, ή μηδέν. Οποιαδήποτε άλλη τιμή *offset* παράγει απροσδιόριστη "
"συμπεριφορά."
#: tutorial/inputoutput.rst:481
msgid ""
"File objects have some additional methods, such as :meth:`~io.IOBase.isatty` "
"and :meth:`~io.IOBase.truncate` which are less frequently used; consult the "
"Library Reference for a complete guide to file objects."
msgstr ""
"Τα αντικείμενα αρχείου έχουν ορισμένες πρόσθετες μεθόδους, όπως :meth:`~io."
"IOBase.isatty` και :meth:`~io.IOBase.truncate` που χρησιμοποιούνται λιγότερο "
"συχνά· συμβουλευτείτε την Αναφορά της Βιβλιοθήκης για έναν πλήρη οδηγό για "
"τα αντικείμενα αρχείων."
#: tutorial/inputoutput.rst:489
msgid "Saving structured data with :mod:`json`"
msgstr "Αποθήκευση δομημένων δεδομένων με :mod:`json`"
#: tutorial/inputoutput.rst:493
msgid ""
"Strings can easily be written to and read from a file. Numbers take a bit "
"more effort, since the :meth:`~io.TextIOBase.read` method only returns "
"strings, which will have to be passed to a function like :func:`int`, which "
"takes a string like ``'123'`` and returns its numeric value 123. When you "
"want to save more complex data types like nested lists and dictionaries, "
"parsing and serializing by hand becomes complicated."
msgstr ""
"Οι συμβολοσειρές μπορούν εύκολα να γραφούν και να διαβαστούν από ένα "
"αρχείο. Οι αριθμοί απαιτούν λίγο περισσότερη προσπάθεια, καθώς η μέθοδος :"
"meth:`~io.TextIOBase.read` επιστρέφει μόνο συμβολοσειρές, οι οποίες θα "
"πρέπει να περάσουν μια συνάρτηση όπως :func:`int`, που παίρνει μια "
"συμβολοσειρά όπως ``'123'`` και επιστρέφει την αριθμητική της τιμή 123. "
"Όταν θέλετε να αποθηκεύσετε πιο σύνθετους τύπους δεδομένων, όπως ένθετε "
"λίστες και λεξικά, η ανάλυση και η σειριοποίηση με το χέρι γίνεται περίπλοκη."
#: tutorial/inputoutput.rst:500
msgid ""
"Rather than having users constantly writing and debugging code to save "
"complicated data types to files, Python allows you to use the popular data "
"interchange format called `JSON (JavaScript Object Notation) `_. The standard module called :mod:`json` can take Python data "
"hierarchies, and convert them to string representations; this process is "
"called :dfn:`serializing`. Reconstructing the data from the string "
"representation is called :dfn:`deserializing`. Between serializing and "
"deserializing, the string representing the object may have been stored in a "
"file or data, or sent over a network connection to some distant machine."
msgstr ""
"Αντί να χρειάζεται οι χρήστες να γράφουν και να διορθώνουν συνεχώς κώδικα "
"για να αποθηκεύουν πολύπλοκους τύπους δεδομένων σε αρχεία, η Python σας "
"επιτρέπει να χρησιμοποιείτε τη δημοφιλή μορφή ανταλλαγής δεδομένων που "
"ονομάζεται `JSON (JavaScript Object Notation) `_. Το "
"standard module που ονομάζεται :mod:`json` μπορεί να λάβει ιεραρχίες "
"δεδομένων Python, και να τις μετατρέψει σε αναπαραστάσεις συμβολοσειρών· "
"αυτή η διαδικασία ονομάζεται :dfn:`serializing`.. Η ανασύνθεση των "
"δεδομένων από την αναπαράσταση συμβολοσειράς ονομάζεται :dfn:"
"`deserializing`. Μεταξύ σειριοποίησης και αποσειριοποίησης, η συμβολοσειρά "
"που αντιπροσωπεύει το αντικείμενο μπορεί να έχει αποθηκευτεί σε ένα αρχείο ή "
"δεδομένα ή να έχει σταλεί μέσω μιας σύνδεσης δικτύου σε κάποιο απομακρυσμένο "
"μηχάνημα."
#: tutorial/inputoutput.rst:511
msgid ""
"The JSON format is commonly used by modern applications to allow for data "
"exchange. Many programmers are already familiar with it, which makes it a "
"good choice for interoperability."
msgstr ""
"Η μορφή JSON χρησιμοποιείται συνήθως από σύγχρονες εφαρμογές για να "
"επιτρέπει την ανταλλαγή δεδομένων. Πολλοί προγραμματιστές είναι ήδη "
"εξοικειωμένοι με αυτήν, γεγονός που την καθιστά καλή επιλογή για "
"διαλειτουργικότητα."
#: tutorial/inputoutput.rst:515
msgid ""
"If you have an object ``x``, you can view its JSON string representation "
"with a simple line of code::"
msgstr ""
"Εάν έχετε ένα αντικείμενο ``x``, μπορείτε να δείτε την αναπαράσταση "
"συμβολοσειράς JSON με μια απλή γραμμή κώδικα::"
#: tutorial/inputoutput.rst:518
msgid ""
">>> import json\n"
">>> x = [1, 'simple', 'list']\n"
">>> json.dumps(x)\n"
"'[1, \"simple\", \"list\"]'"
msgstr ""
">>> import json\n"
">>> x = [1, 'simple', 'list']\n"
">>> json.dumps(x)\n"
"'[1, \"simple\", \"list\"]'"
#: tutorial/inputoutput.rst:523
msgid ""
"Another variant of the :func:`~json.dumps` function, called :func:`~json."
"dump`, simply serializes the object to a :term:`text file`. So if ``f`` is "
"a :term:`text file` object opened for writing, we can do this::"
msgstr ""
"Μια άλλη παραλλαγή της συνάρτησης :func:`~json.dumps`, που ονομάζεται :func:"
"`~json.dump`, απλώς σειριοποιεί το αντικείμενο σε ένα :term:`text file`. "
"Έτσι, εάν το ``f`` είναι ένα αντικείμενο :term:`text file` που ανοίγει για "
"εγγραφή, μπορούμε να κάνουμε αυτό::"
#: tutorial/inputoutput.rst:527
msgid "json.dump(x, f)"
msgstr "json.dump(x, f)"
#: tutorial/inputoutput.rst:529
msgid ""
"To decode the object again, if ``f`` is a :term:`binary file` or :term:`text "
"file` object which has been opened for reading::"
msgstr ""
"Για να αποκωδικοποιήσετε ξανά το αντικείμενο, εάν το ``f`` είναι ένα "
"αντικείμενο :term:`binary file` ή :term:`text file` που έχει ανοίξει για "
"ανάγνωση::"
#: tutorial/inputoutput.rst:532
msgid "x = json.load(f)"
msgstr "x = json.load(f)"
#: tutorial/inputoutput.rst:535
msgid ""
"JSON files must be encoded in UTF-8. Use ``encoding=\"utf-8\"`` when opening "
"JSON file as a :term:`text file` for both of reading and writing."
msgstr ""
"Τα αρχεία JSON πρέπει να είναι κωδικοποιημένα σε UTF-8. Χρησιμοποιήστε το "
"``encoding=\"utf-8\"`` όταν ανοίγετε το αρχείο JSON ως :term:`text file` "
"τόσο για ανάγνωση όσο και για εγγραφή."
#: tutorial/inputoutput.rst:538
msgid ""
"This simple serialization technique can handle lists and dictionaries, but "
"serializing arbitrary class instances in JSON requires a bit of extra "
"effort. The reference for the :mod:`json` module contains an explanation of "
"this."
msgstr ""
"Αυτή η απλή τεχνική σειριοποίησης μπορεί να χειριστεί λίστες και λεξικά, "
"άλλα η σειριοποίηση αυθαίρετων στιγμιοτύπων κλάσεων σε JSON απαιτεί λίγη "
"επιπλέον προσπάθεια. Η αναφορά για το module :mod:`json` περιέχει μια "
"εξήγηση για αυτό."
#: tutorial/inputoutput.rst:544
msgid ":mod:`pickle` - the pickle module"
msgstr ":mod:`pickle` - το pickle module"
#: tutorial/inputoutput.rst:546
msgid ""
"Contrary to :ref:`JSON `, *pickle* is a protocol which allows the "
"serialization of arbitrarily complex Python objects. As such, it is "
"specific to Python and cannot be used to communicate with applications "
"written in other languages. It is also insecure by default: deserializing "
"pickle data coming from an untrusted source can execute arbitrary code, if "
"the data was crafted by a skilled attacker."
msgstr ""
"Σε αντίθεση με το :ref:`JSON `, το *pickle* είναι ένα πρωτόκολλο "
"που επιτρέπει τη σειριοποίηση αυθαίρετα πολύπλοκων αντικειμένων Python. Ως "
"εκ τούτου, είναι συγκεκριμένο για την Python και δεν μπορεί να "
"χρησιμοποιηθεί για επικοινωνία με εφαρμογές γραμμένες σε άλλες γλώσσες. "
"Είναι επίσης ανασφαλές από προεπιλογή: η αποσειριοποίηση pickle δεδομένων "
"που προέρχονται από μια μη αξιόπιστη πηγή μπορεί να εκτελέσει αυθαίρετο "
"κώδικα, εάν τα δεδομένα έχουν δημιουργηθεί από έναν έμπειρο εισβολέα."
#: tutorial/inputoutput.rst:104
msgid "formatted string literal"
msgstr "μορφοποιημένα String Literals"
#: tutorial/inputoutput.rst:104
msgid "interpolated string literal"
msgstr "παρεμβαλλόμενα String Literals"
#: tutorial/inputoutput.rst:104
msgid "string"
msgstr "string"
#: tutorial/inputoutput.rst:104
msgid "formatted literal"
msgstr "Μορφοποιημένα Literals"
#: tutorial/inputoutput.rst:104
msgid "interpolated literal"
msgstr "παρεμβαλλόμενα literal"
#: tutorial/inputoutput.rst:104
msgid "f-string"
msgstr "f-string"
#: tutorial/inputoutput.rst:104
msgid "fstring"
msgstr "fstring"
#: tutorial/inputoutput.rst:309
msgid "built-in function"
msgstr "ενσωματωμένη (built-in) συνάρτηση"
#: tutorial/inputoutput.rst:309
msgid "open"
msgstr "open"
#: tutorial/inputoutput.rst:309
msgid "object"
msgstr "object"
#: tutorial/inputoutput.rst:309
msgid "file"
msgstr "file"
#: tutorial/inputoutput.rst:491
msgid "module"
msgstr "module"
#: tutorial/inputoutput.rst:491
msgid "json"
msgstr "json"