Skip to main content

An easy way to manage file creation.

Project description

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!")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ensure_file-1.0.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ensure_file-1.0.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file ensure_file-1.0.0.tar.gz.

File metadata

  • Download URL: ensure_file-1.0.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for ensure_file-1.0.0.tar.gz
Algorithm Hash digest
SHA256 8d6f319624a620129cdcc27b6e11c20babcf0529a2bec9686750e813396bf4ec
MD5 01b51ff1d4f039501f287bddc6f3b91e
BLAKE2b-256 6b720938f6ad1fcdd1ff23a83a0528dbe52067c0bab6efdbcc863319051c569f

See more details on using hashes here.

File details

Details for the file ensure_file-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ensure_file-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for ensure_file-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee829f3dc397a35714daf1fefe1ea8e2e142dde1deb8f4f3b2d539beec229194
MD5 5a0e12d1e709c7955807e5a2d15e1801
BLAKE2b-256 627ce7c862eae13146cd3d4988646e2ace4295cf3d19f2421f99dd8f4df0e0ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page