Operator Reference

list_filesT_list_filesListFilesListFileslist_files (Operator)

list_filesT_list_filesListFilesListFileslist_files — List all files in a directory.

Signature

list_files( : : Directory, Options : Files)

Herror T_list_files(const Htuple Directory, const Htuple Options, Htuple* Files)

void ListFiles(const HTuple& Directory, const HTuple& Options, HTuple* Files)

static HTuple HMisc::ListFiles(const HString& Directory, const HTuple& Options)

static HTuple HMisc::ListFiles(const HString& Directory, const HString& Options)

static HTuple HMisc::ListFiles(const char* Directory, const char* Options)

static HTuple HMisc::ListFiles(const wchar_t* Directory, const wchar_t* Options)   ( Windows only)

static void HOperatorSet.ListFiles(HTuple directory, HTuple options, out HTuple files)

static HTuple HMisc.ListFiles(string directory, HTuple options)

static HTuple HMisc.ListFiles(string directory, string options)

def list_files(directory: str, options: MaybeSequence[str]) -> Sequence[str]

Description

list_fileslist_filesListFilesListFileslist_files returns all files in the directory given by DirectoryDirectoryDirectorydirectorydirectory in the parameters FilesFilesFilesfilesfiles. The current directory can be specified with ''"""""""" or '.'"."".""."".". The parameter OptionsOptionsOptionsoptionsoptions can be used to specify different processing options by passing a tuple of values.

If OptionsOptionsOptionsoptionsoptions contains 'files'"files""files""files""files" only the files present in DirectoryDirectoryDirectorydirectorydirectory are returned. If 'directories'"directories""directories""directories""directories" is passed, only the directories present in DirectoryDirectoryDirectorydirectorydirectory are returned. On Unix-like systems 'symlinks'"symlinks""symlinks""symlinks""symlinks" may be passed to list symbolic links. Directories are marked by a trailing '\'"\""\""\""\" (Windows) or a trailing '/' (Unix-like systems). If files as well as directories should be returned, ['files','directories']["files","directories"]["files","directories"]["files","directories"]["files","directories"] must be passed. If none of 'files'"files""files""files""files", 'directories'"directories""directories""directories""directories" or 'symlinks'"symlinks""symlinks""symlinks""symlinks" is passed, list_fileslist_filesListFilesListFileslist_files returns an empty tuple.

By passing 'recursive'"recursive""recursive""recursive""recursive", it can be specified that the directory tree should be searched recursively by examining all sub-directories. On Unix-like systems, 'follow_links'"follow_links""follow_links""follow_links""follow_links" can be used to specify that symbolic links to files or directories should be followed. In the default setting, symbolic links are not dereferenced, and hence are not searched if they point to directories, and not returned if they point to files. The option 'follow_links'"follow_links""follow_links""follow_links""follow_links" can not be used in conjunction with the option 'symlinks'"symlinks""symlinks""symlinks""symlinks".

For the recursive search, a maximum search depth can be specified with 'max_depth <d>'"max_depth <d>""max_depth <d>""max_depth <d>""max_depth <d>", where '<d>'"<d>""<d>""<d>""<d>" is a number that specifies the maximum depth. Hence, 'max_depth 2'"max_depth 2""max_depth 2""max_depth 2""max_depth 2" specifies that DirectoryDirectoryDirectorydirectorydirectory and all immediate sub-directories should be searched. If symbolic links should be followed it might happen that the search does not terminate if the symbolic links lead to a cycle in the directory structure. Because of this, at most 1000000 files (and directories) are returned in FilesFilesFilesfilesfiles. By specifying a different number with 'max_files <d>'"max_files <d>""max_files <d>""max_files <d>""max_files <d>", this value can be modified.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

DirectoryDirectoryDirectorydirectorydirectory (input_control)  filename.dir HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Name of directory to be listed.

OptionsOptionsOptionsoptionsoptions (input_control)  string(-array) HTupleMaybeSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Processing options.

Default: 'files' "files" "files" "files" "files"

Suggested values: 'files'"files""files""files""files", 'directories'"directories""directories""directories""directories", 'symlinks'"symlinks""symlinks""symlinks""symlinks", 'recursive'"recursive""recursive""recursive""recursive", 'follow_links'"follow_links""follow_links""follow_links""follow_links", 'max_depth 5'"max_depth 5""max_depth 5""max_depth 5""max_depth 5", 'max_files 1000'"max_files 1000""max_files 1000""max_files 1000""max_files 1000"

FilesFilesFilesfilesfiles (output_control)  string-array HTupleSequence[str]HTupleHtuple (string) (string) (HString) (char*)

Found files (and directories).

Result

list_fileslist_filesListFilesListFileslist_files returns the value 2 ( H_MSG_TRUE) if the directory exists and could be read. Otherwise, an exception is raised.

Possible Successors

tuple_regexp_selecttuple_regexp_selectTupleRegexpSelectTupleRegexpSelecttuple_regexp_select

Module

Foundation