Psyduck - 可達鴨 之 鴨力山大2


Server : LiteSpeed
System : Linux premium217.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User : alloknri ( 880)
PHP Version : 8.1.34
Disable Function : NONE
Directory :  /lib64/python3.6/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib64/python3.6/uu.py
#! /usr/libexec/platform-python

# Copyright 1994 by Lance Ellinghouse
# Cathedral City, California Republic, United States of America.
#                        All Rights Reserved
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted,
# provided that the above copyright notice appear in all copies and that
# both that copyright notice and this permission notice appear in
# supporting documentation, and that the name of Lance Ellinghouse
# not be used in advertising or publicity pertaining to distribution
# of the software without specific, written prior permission.
# LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO
# THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
# FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE CENTRUM BE LIABLE
# FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
#
# Modified by Jack Jansen, CWI, July 1995:
# - Use binascii module to do the actual line-by-line conversion
#   between ascii and binary. This results in a 1000-fold speedup. The C
#   version is still 5 times faster, though.
# - Arguments more compliant with python standard

"""Implementation of the UUencode and UUdecode functions.

encode(in_file, out_file [,name, mode])
decode(in_file [, out_file, mode])
"""

import binascii
import os
import sys

__all__ = ["Error", "encode", "decode"]

class Error(Exception):
    pass

def encode(in_file, out_file, name=None, mode=None):
    """Uuencode file"""
    #
    # If in_file is a pathname open it and change defaults
    #
    opened_files = []
    try:
        if in_file == '-':
            in_file = sys.stdin.buffer
        elif isinstance(in_file, str):
            if name is None:
                name = os.path.basename(in_file)
            if mode is None:
                try:
                    mode = os.stat(in_file).st_mode
                except AttributeError:
                    pass
            in_file = open(in_file, 'rb')
            opened_files.append(in_file)
        #
        # Open out_file if it is a pathname
        #
        if out_file == '-':
            out_file = sys.stdout.buffer
        elif isinstance(out_file, str):
            out_file = open(out_file, 'wb')
            opened_files.append(out_file)
        #
        # Set defaults for name and mode
        #
        if name is None:
            name = '-'
        if mode is None:
            mode = 0o666
        #
        # Write the data
        #
        out_file.write(('begin %o %s\n' % ((mode & 0o777), name)).encode("ascii"))
        data = in_file.read(45)
        while len(data) > 0:
            out_file.write(binascii.b2a_uu(data))
            data = in_file.read(45)
        out_file.write(b' \nend\n')
    finally:
        for f in opened_files:
            f.close()


def decode(in_file, out_file=None, mode=None, quiet=False):
    """Decode uuencoded file"""
    #
    # Open the input file, if needed.
    #
    opened_files = []
    if in_file == '-':
        in_file = sys.stdin.buffer
    elif isinstance(in_file, str):
        in_file = open(in_file, 'rb')
        opened_files.append(in_file)

    try:
        #
        # Read until a begin is encountered or we've exhausted the file
        #
        while True:
            hdr = in_file.readline()
            if not hdr:
                raise Error('No valid begin line found in input file')
            if not hdr.startswith(b'begin'):
                continue
            hdrfields = hdr.split(b' ', 2)
            if len(hdrfields) == 3 and hdrfields[0] == b'begin':
                try:
                    int(hdrfields[1], 8)
                    break
                except ValueError:
                    pass
        if out_file is None:
            # If the filename isn't ASCII, what's up with that?!?
            out_file = hdrfields[2].rstrip(b' \t\r\n\f').decode("ascii")
            if os.path.exists(out_file):
                raise Error('Cannot overwrite existing file: %s' % out_file)
        if mode is None:
            mode = int(hdrfields[1], 8)
        #
        # Open the output file
        #
        if out_file == '-':
            out_file = sys.stdout.buffer
        elif isinstance(out_file, str):
            fp = open(out_file, 'wb')
            try:
                os.path.chmod(out_file, mode)
            except AttributeError:
                pass
            out_file = fp
            opened_files.append(out_file)
        #
        # Main decoding loop
        #
        s = in_file.readline()
        while s and s.strip(b' \t\r\n\f') != b'end':
            try:
                data = binascii.a2b_uu(s)
            except binascii.Error as v:
                # Workaround for broken uuencoders by /Fredrik Lundh
                nbytes = (((s[0]-32) & 63) * 4 + 5) // 3
                data = binascii.a2b_uu(s[:nbytes])
                if not quiet:
                    sys.stderr.write("Warning: %s\n" % v)
            out_file.write(data)
            s = in_file.readline()
        if not s:
            raise Error('Truncated input file')
    finally:
        for f in opened_files:
            f.close()

def test():
    """uuencode/uudecode main program"""

    import optparse
    parser = optparse.OptionParser(usage='usage: %prog [-d] [-t] [input [output]]')
    parser.add_option('-d', '--decode', dest='decode', help='Decode (instead of encode)?', default=False, action='store_true')
    parser.add_option('-t', '--text', dest='text', help='data is text, encoded format unix-compatible text?', default=False, action='store_true')

    (options, args) = parser.parse_args()
    if len(args) > 2:
        parser.error('incorrect number of arguments')
        sys.exit(1)

    # Use the binary streams underlying stdin/stdout
    input = sys.stdin.buffer
    output = sys.stdout.buffer
    if len(args) > 0:
        input = args[0]
    if len(args) > 1:
        output = args[1]

    if options.decode:
        if options.text:
            if isinstance(output, str):
                output = open(output, 'wb')
            else:
                print(sys.argv[0], ': cannot do -t to stdout')
                sys.exit(1)
        decode(input, output)
    else:
        if options.text:
            if isinstance(input, str):
                input = open(input, 'rb')
            else:
                print(sys.argv[0], ': cannot do -t from stdin')
                sys.exit(1)
        encode(input, output)

if __name__ == '__main__':
    test()
Name
Size
Permissions
Options
__pycache__
--
drwxr-xr-x
asyncio
--
drwxr-xr-x
collections
--
drwxr-xr-x
concurrent
--
drwxr-xr-x
config-3.6m-x86_64-linux-gnu
--
drwxr-xr-x
ctypes
--
drwxr-xr-x
curses
--
drwxr-xr-x
dbm
--
drwxr-xr-x
distutils
--
drwxr-xr-x
email
--
drwxr-xr-x
encodings
--
drwxr-xr-x
ensurepip
--
drwxr-xr-x
html
--
drwxr-xr-x
http
--
drwxr-xr-x
importlib
--
drwxr-xr-x
json
--
drwxr-xr-x
lib-dynload
--
drwxr-xr-x
lib2to3
--
drwxr-xr-x
logging
--
drwxr-xr-x
multiprocessing
--
drwxr-xr-x
pydoc_data
--
drwxr-xr-x
site-packages
--
drwxr-xr-x
sqlite3
--
drwxr-xr-x
test
--
drwxr-xr-x
unittest
--
drwxr-xr-x
urllib
--
drwxr-xr-x
venv
--
drwxr-xr-x
wsgiref
--
drwxr-xr-x
xml
--
drwxr-xr-x
xmlrpc
--
drwxr-xr-x
__future__.py
4.728 KB
-rw-r--r--
__phello__.foo.py
0.063 KB
-rw-r--r--
_bootlocale.py
1.271 KB
-rw-r--r--
_collections_abc.py
25.773 KB
-rw-r--r--
_compat_pickle.py
8.544 KB
-rw-r--r--
_compression.py
5.215 KB
-rw-r--r--
_dummy_thread.py
4.998 KB
-rw-r--r--
_markupbase.py
14.256 KB
-rw-r--r--
_osx_support.py
18.689 KB
-rw-r--r--
_pydecimal.py
224.832 KB
-rw-r--r--
_pyio.py
86.032 KB
-rw-r--r--
_sitebuiltins.py
3.042 KB
-rw-r--r--
_strptime.py
24.167 KB
-rw-r--r--
_sysconfigdata_dm_linux_x86_64-linux-gnu.py
29.483 KB
-rw-r--r--
_sysconfigdata_m_linux_x86_64-linux-gnu.py
29.655 KB
-rw-r--r--
_threading_local.py
7.045 KB
-rw-r--r--
_weakrefset.py
5.571 KB
-rw-r--r--
abc.py
8.522 KB
-rw-r--r--
aifc.py
31.693 KB
-rw-r--r--
antigravity.py
0.466 KB
-rw-r--r--
argparse.py
88.254 KB
-rw-r--r--
ast.py
11.881 KB
-rw-r--r--
asynchat.py
11.063 KB
-rw-r--r--
asyncore.py
19.687 KB
-rw-r--r--
base64.py
19.91 KB
-rwxr-xr-x
bdb.py
23.004 KB
-rw-r--r--
binhex.py
13.627 KB
-rw-r--r--
bisect.py
2.534 KB
-rw-r--r--
bz2.py
12.186 KB
-rw-r--r--
cProfile.py
5.254 KB
-rwxr-xr-x
calendar.py
22.669 KB
-rw-r--r--
cgi.py
36.347 KB
-rwxr-xr-x
cgitb.py
11.736 KB
-rw-r--r--
chunk.py
5.298 KB
-rw-r--r--
cmd.py
14.512 KB
-rw-r--r--
code.py
10.365 KB
-rw-r--r--
codecs.py
35.426 KB
-rw-r--r--
codeop.py
5.854 KB
-rw-r--r--
colorsys.py
3.969 KB
-rw-r--r--
compileall.py
11.841 KB
-rw-r--r--
configparser.py
52.336 KB
-rw-r--r--
contextlib.py
12.854 KB
-rw-r--r--
copy.py
8.608 KB
-rw-r--r--
copyreg.py
6.843 KB
-rw-r--r--
crypt.py
1.82 KB
-rw-r--r--
csv.py
15.801 KB
-rw-r--r--
datetime.py
80.111 KB
-rw-r--r--
decimal.py
0.313 KB
-rw-r--r--
difflib.py
82.399 KB
-rw-r--r--
dis.py
17.707 KB
-rw-r--r--
doctest.py
101.944 KB
-rw-r--r--
dummy_threading.py
2.749 KB
-rw-r--r--
enum.py
32.818 KB
-rw-r--r--
filecmp.py
9.6 KB
-rw-r--r--
fileinput.py
14.132 KB
-rw-r--r--
fnmatch.py
3.092 KB
-rw-r--r--
formatter.py
14.788 KB
-rw-r--r--
fractions.py
23.085 KB
-rw-r--r--
ftplib.py
34.782 KB
-rw-r--r--
functools.py
30.611 KB
-rw-r--r--
genericpath.py
4.91 KB
-rw-r--r--
getopt.py
7.313 KB
-rw-r--r--
getpass.py
5.854 KB
-rw-r--r--
gettext.py
21.025 KB
-rw-r--r--
glob.py
5.506 KB
-rw-r--r--
gzip.py
19.857 KB
-rw-r--r--
hashlib.py
8.593 KB
-rw-r--r--
heapq.py
22.392 KB
-rw-r--r--
hmac.py
6.231 KB
-rw-r--r--
imaplib.py
52.046 KB
-rw-r--r--
imghdr.py
3.706 KB
-rw-r--r--
imp.py
10.419 KB
-rw-r--r--
inspect.py
114.217 KB
-rw-r--r--
io.py
3.435 KB
-rw-r--r--
ipaddress.py
75.994 KB
-rw-r--r--
keyword.py
2.167 KB
-rwxr-xr-x
linecache.py
5.188 KB
-rw-r--r--
locale.py
75.488 KB
-rw-r--r--
lzma.py
12.679 KB
-rw-r--r--
macpath.py
5.831 KB
-rw-r--r--
macurl2path.py
2.668 KB
-rw-r--r--
mailbox.py
76.781 KB
-rw-r--r--
mailcap.py
8.854 KB
-rw-r--r--
mimetypes.py
20.549 KB
-rw-r--r--
modulefinder.py
22.487 KB
-rw-r--r--
netrc.py
5.551 KB
-rw-r--r--
nntplib.py
42.068 KB
-rw-r--r--
ntpath.py
22.553 KB
-rw-r--r--
nturl2path.py
2.387 KB
-rw-r--r--
numbers.py
10.003 KB
-rw-r--r--
opcode.py
5.686 KB
-rw-r--r--
operator.py
10.608 KB
-rw-r--r--
optparse.py
58.956 KB
-rw-r--r--
os.py
36.646 KB
-rw-r--r--
pathlib.py
45.154 KB
-rw-r--r--
pdb.py
59.883 KB
-rwxr-xr-x
pickle.py
54.386 KB
-rw-r--r--
pickletools.py
89.624 KB
-rw-r--r--
pipes.py
8.707 KB
-rw-r--r--
pkgutil.py
20.815 KB
-rw-r--r--
platform.py
46.107 KB
-rwxr-xr-x
plistlib.py
31.534 KB
-rw-r--r--
poplib.py
14.613 KB
-rw-r--r--
posixpath.py
15.941 KB
-rw-r--r--
pprint.py
20.371 KB
-rw-r--r--
profile.py
21.513 KB
-rwxr-xr-x
pstats.py
25.941 KB
-rw-r--r--
pty.py
4.651 KB
-rw-r--r--
py_compile.py
7.013 KB
-rw-r--r--
pyclbr.py
13.24 KB
-rw-r--r--
pydoc.py
101.075 KB
-rw-r--r--
queue.py
8.574 KB
-rw-r--r--
quopri.py
7.092 KB
-rwxr-xr-x
random.py
26.799 KB
-rw-r--r--
re.py
15.188 KB
-rw-r--r--
reprlib.py
5.211 KB
-rw-r--r--
rlcompleter.py
6.931 KB
-rw-r--r--
runpy.py
11.679 KB
-rw-r--r--
sched.py
6.358 KB
-rw-r--r--
secrets.py
1.99 KB
-rw-r--r--
selectors.py
18.982 KB
-rw-r--r--
shelve.py
8.315 KB
-rw-r--r--
shlex.py
12.652 KB
-rw-r--r--
shutil.py
39.872 KB
-rw-r--r--
signal.py
2.073 KB
-rw-r--r--
site.py
20.77 KB
-rw-r--r--
smtpd.py
33.905 KB
-rwxr-xr-x
smtplib.py
43.182 KB
-rwxr-xr-x
sndhdr.py
6.922 KB
-rw-r--r--
socket.py
26.8 KB
-rw-r--r--
socketserver.py
26.377 KB
-rw-r--r--
sre_compile.py
18.885 KB
-rw-r--r--
sre_constants.py
6.661 KB
-rw-r--r--
sre_parse.py
35.68 KB
-rw-r--r--
ssl.py
43.466 KB
-rw-r--r--
stat.py
4.92 KB
-rw-r--r--
statistics.py
20.188 KB
-rw-r--r--
string.py
11.519 KB
-rw-r--r--
stringprep.py
12.614 KB
-rw-r--r--
struct.py
0.251 KB
-rw-r--r--
subprocess.py
60.878 KB
-rw-r--r--
sunau.py
17.671 KB
-rw-r--r--
symbol.py
2.069 KB
-rwxr-xr-x
symtable.py
7.106 KB
-rw-r--r--
sysconfig.py
24.293 KB
-rw-r--r--
tabnanny.py
11.144 KB
-rwxr-xr-x
tarfile.py
109.019 KB
-rwxr-xr-x
telnetlib.py
22.594 KB
-rw-r--r--
tempfile.py
27.408 KB
-rw-r--r--
textwrap.py
19.1 KB
-rw-r--r--
this.py
0.979 KB
-rw-r--r--
threading.py
48.961 KB
-rw-r--r--
timeit.py
13.029 KB
-rwxr-xr-x
token.py
3.003 KB
-rw-r--r--
tokenize.py
28.805 KB
-rw-r--r--
trace.py
28.06 KB
-rwxr-xr-x
traceback.py
22.908 KB
-rw-r--r--
tracemalloc.py
16.268 KB
-rw-r--r--
tty.py
0.858 KB
-rw-r--r--
types.py
8.662 KB
-rw-r--r--
typing.py
78.393 KB
-rw-r--r--
uu.py
6.604 KB
-rwxr-xr-x
uuid.py
23.457 KB
-rw-r--r--
warnings.py
18.055 KB
-rw-r--r--
wave.py
17.294 KB
-rw-r--r--
weakref.py
19.986 KB
-rw-r--r--
webbrowser.py
21.257 KB
-rwxr-xr-x
xdrlib.py
5.774 KB
-rw-r--r--
zipapp.py
6.989 KB
-rw-r--r--
zipfile.py
78.051 KB
-rw-r--r--