Skip to main content

Ensure File

An easy way to manage file creation

Example usage:

from ensure_file import ensure_file as ef

# This will create a file in the user directory under the `.example` folder
# if the file doesn't already exist. If the file does exist, nothing happens.
# Along with that, it will return true if a file is created, and false if
# nothing happens. This applies to everything else going forward.
ef("~/.example/foo.txt")

# Using the `default_value` parameter, you can set the default value to be
# written to the file. If the file already exists, nothing happens.
import json
ef("./bar.json", default_value=json.dumps({
  "foo": "bar"
}))

# If you want to create a folder, you can set the `folder` parameter to true.
ef("/tmp/foo", folder=True)

# If there is already a folder with the same name as a file you want to create,
# the folder will be deleted and overwritten. This can be disabled by setting
# the `auto_correct_type` to false. In this function call, nothing would happen
# because of the folder created on the previous line.
ef("/tmp/foo", folder=False, auto_correct_type=False)

# If you want to not actually create any files or folders and instead throw an
# error if a file or folder doesn't exist, you can easily do so by setting the
# `throw_error` parameter to true. By default, this will also throw an error
# if the file or folder is the wrong type, such as checking if the file you're
# checking has the same name as a folder in the same directory. The type
# checking can be disabled by setting the `throw_check_type` parameter to
# false.
try:
    ef("./some/file.css", folder=False, throw_error=True)
    print("The file exists!")

except FileNotFoundError:
    print("The file doesn't exist!")
except FileExistsError:
    print("A folder exists where there should be a file!")

Metadata

Release files for ensure-file 1.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ensure-file 1.1.2
File Size Uploaded
ensure_file-1.1.2.tar.gz 14.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ensure-file 1.1.2
File Interpreter ABI Platform
ensure_file-1.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 30.1 kB

Release files / ensure_file-1.1.2.tar.gz

Download URL ensure_file-1.1.2.tar.gz
Size 14.9 kB
Tags Source
SHA-256 checksum
How to use checksums
f2f7fd3b93c6a608266d0192c8c1a15833a6438180bae866f8b0de339f3cebb1
BLAKE2b-256 checksum
How to use checksums
71f05f5cf03f4bff085a98d0ccb60e732985f9b65f11d67d2a07138f767fb591
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release files / ensure_file-1.1.2-py3-none-any.whl

Download URL ensure_file-1.1.2-py3-none-any.whl
Size 15.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
151d68e55a04cfcb9fe8fd6b4a2bdbb96959a3dcd567a87363b0eddaa23a1e29
BLAKE2b-256 checksum
How to use checksums
c8cd45a65538edeeb255564c1b282e49b88fdfc3d5400c683595ee5dd2eb329d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.10.12

Release history Release notifications | RSS feed

This release

1.1.2 This release

2 release files

1.1.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page