PHP 8.2.30
Preview: example.py Size: 3.91 KB
/proc/self/root/opt/cloudlinux/venv/lib/python3.11/site-packages/pyfakefs/tests/example.py

# Copyright 2014 Altera Corporation. All Rights Reserved.
# Author: John McGehee
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""
Example module that is tested in :py:class`pyfakefs.example_test.TestExample`.
This demonstrates the usage of the
:py:class`pyfakefs.fake_filesystem_unittest.TestCase` base class.

The modules related to file handling are bound to the respective fake modules:

>>> os     #doctest: +ELLIPSIS
<pyfakefs.fake_os.FakeOsModule object...>
>>> os.path     #doctest: +ELLIPSIS
<pyfakefs.fake_path.FakePathModule object...>
>>> shutil     #doctest: +ELLIPSIS
<pyfakefs.fake_filesystem_shutil.FakeShutilModule object...>

`open()` is an alias for `io.open()` and is bound to `FakeIoModule.open`.
"""

import glob
import os
import shutil

try:
    import scandir

    has_scandir = True
except ImportError:
    scandir = None
    has_scandir = False


def create_file(path):
    """Create the specified file and add some content to it.  Use the `open()`
    built in function.

    For example, the following file operations occur in the fake file system.
    In the real file system, we would not even have permission
    to write `/test`:

    >>> os.path.isdir('/test')
    False
    >>> os.mkdir('/test')
    >>> os.path.isdir('/test')
    True
    >>> os.path.exists('/test/file.txt')
    False
    >>> create_file('/test/file.txt')
    >>> os.path.exists('/test/file.txt')
    True
    >>> with open('/test/file.txt', encoding='utf8') as f:
    ...     f.readlines()
    ["This is test file '/test/file.txt'.\\n", \
'It was created using open().\\n']
    """
    with open(path, "w", encoding="utf8") as f:
        f.write(f"This is test file '{path}'.\n")
        f.write("It was created using open().\n")


def delete_file(path):
    """Delete the specified file.

    For example:

    >>> os.mkdir('/test')
    >>> os.path.exists('/test/file.txt')
    False
    >>> create_file('/test/file.txt')
    >>> os.path.exists('/test/file.txt')
    True
    >>> delete_file('/test/file.txt')
    >>> os.path.exists('/test/file.txt')
    False
    """
    os.remove(path)


def path_exists(path):
    """Return True if the specified file exists.

    For example:

    >>> path_exists('/test')
    False
    >>> os.mkdir('/test')
    >>> path_exists('/test')
    True
    >>>
    >>> path_exists('/test/file.txt')
    False
    >>> create_file('/test/file.txt')
    >>> path_exists('/test/file.txt')
    True
    """
    return os.path.exists(path)


def get_glob(glob_path):
    r"""Return the list of paths matching the specified glob expression.

    For example:

    >>> os.mkdir('/test')
    >>> create_file('/test/file1.txt')
    >>> create_file('/test/file2.txt')
    >>> file_names = sorted(get_glob('/test/file*.txt'))
    >>>
    >>> import sys
    >>> if sys.platform.startswith('win'):
    ...     # Windows style path
    ...     file_names == [r'/test\file1.txt', r'/test\file2.txt']
    ... else:
    ...     # UNIX style path
    ...     file_names == ['/test/file1.txt', '/test/file2.txt']
    True
    """
    return glob.glob(glob_path)


def rm_tree(path):
    """Delete the specified file hierarchy."""
    shutil.rmtree(path)


def scan_dir(path):
    """Return a list of directory entries for the given path."""
    if has_scandir:
        return list(scandir.scandir(path))
    return list(os.scandir(path))


def file_contents(path):
    """Return the contents of the given path as byte array."""
    with open(path, "rb") as f:
        return f.read()

Directory Contents

Dirs: 2 × Files: 25

Name Size Perms Modified Actions
fixtures DIR
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
- drwxr-xr-x 2026-02-06 08:01:08
Edit Download
2.54 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
993 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.03 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.91 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
6.84 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.75 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
23.34 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
110.66 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
38.79 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
29.98 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.66 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
89.06 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
239.05 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
70.21 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
21.83 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
4.10 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
3.16 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
832 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
893 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download
5.21 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.51 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
2.56 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
1.18 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
16.06 KB lrw-r--r-- 2026-01-20 13:01:47
Edit Download
0 B lrw-r--r-- 2026-01-20 13:01:47
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).