Skip to main content

A Python wrapper for opening files and folders with the native file dialog.

Project description

CrossFileDialog

A Python wrapper for opening files and folders with the native file dialog.

Makes it easy to prompt the user with a native filepicker on all supported platforms.

Currently supports:

  • Zenity (GTK)
  • KDialog (KDE)
  • Windows 2000 and newer (via PyWin32)

Basic API usage:

import crossfiledialog

filename = crossfiledialog.open_file()
multiple_filenames = crossfiledialog.open_multiple()
save_filename = crossfiledialog.save_file()
foldername = crossfiledialog.choose_folder()

Documentation

crossfiledialog.open_file(title, start_dir, filter) -> str

Open a file selection dialog for selecting a file.

Parameters:

  • title (str, optional) — The title of the file selection dialog. Default is 'Choose a file'
  • start_dir (str, optional) — The starting directory for the dialog.
  • filter (str, list, dict, optional) — The filter for file types to display. It can be either:
    • a single wildcard (e.g.: "*.py", all files are displayed ending .py)
    • a list of wildcards (e.g.: ["*.py" "*.md"], all files are displayed ending either .py or .md)
    • a list of list optional one or more wildcards (e.g.: [["*.py", "*.md"], ["*.txt"]], user can switch between (.py, .md) and (.txt))
    • a dictionary mapping descriptions to wildcards (e.g.: {"PDF-Files": "*.pdf", "Python Project": ["\*.py", "*.md"]})

Returns:

  • str: The selected file's path.

crossfiledialog.open_multiple(title, start_dir, filter) -> list[str]

Open a file selection dialog for selecting multiple files.

Parameters:

  • title (str, optional) — The title of the file selection dialog. Default is 'Choose one or more files'
  • start_dir (str, optional) — The starting directory for the dialog.
  • filter (str, list, dict, optional) — The filter for file types to display. It can be either:
    • a single wildcard (e.g.: "*.py", all files are displayed ending .py)
    • a list of wildcards (e.g.: ["*.py" "*.md"], all files are displayed ending either .py or .md)
    • a list of list optional one or more wildcards (e.g.: [["*.py", "*.md"], ["*.txt"]], user can switch between (.py, .md) and (.txt))
    • a dictionary mapping descriptions to wildcards (e.g.: {"PDF-Files": "*.pdf", "Python Project": ["\*.py", "*.md"]})

Returns:

  • list[str]: A list of selected file paths.

crossfiledialog.save_file(title, start_dir) -> str

Open a save file dialog.

Parameters:

  • title (str, optional) — The title of the file selection dialog. Default is 'Enter the name of the file to save to'
  • start_dir (str, optional) — The starting directory for the dialog.

Returns:

  • str: The selected file's path for saving.

crossfiledialog.save_file(title, start_dir) -> str

Open a folder selection dialog.

Parameters:

  • title (str, optional) — The title of the file selection dialog. Default is 'Choose a folder'
  • start_dir (str, optional) — The starting directory for the dialog.

Returns:

  • str: The selected folder's path.

Licence

This software is licensed under the GNU LGPL 3.0 Only. See the LICENSE file for details.

SPDX-License-Identifier: LGPL-3.0-only

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

crossfiledialog-1.0.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for crossfiledialog-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98e74fe54339fde8712186ab20af382bf2a46b00d6d7dae56e47ba78dbfd7673
MD5 78a0118960d8ac6c4e8e4668eb42b81e
BLAKE2b-256 ebe3181ebcdd5df87a0ecf041e4eaf481e5c44573be9691528be1f1936004169

See more details on using hashes here.

Supported by

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