1Stdlib.Filename(3)               OCaml library              Stdlib.Filename(3)
2
3
4

NAME

6       Stdlib.Filename - no description
7

Module

9       Module   Stdlib.Filename
10

Documentation

12       Module Filename
13        : (module Stdlib__filename)
14
15
16
17
18
19
20
21
22       val current_dir_name : string
23
24       The conventional name for the current directory (e.g.  .  in Unix).
25
26
27
28       val parent_dir_name : string
29
30       The conventional name for the parent of the current directory (e.g.  ..
31       in Unix).
32
33
34
35       val dir_sep : string
36
37       The directory separator (e.g.  / in Unix).
38
39
40       Since 3.11.2
41
42
43
44       val concat : string -> string -> string
45
46
47       concat dir file returns a file name that designates file file in direc‐
48       tory dir .
49
50
51
52       val is_relative : string -> bool
53
54       Return  true  if  the  file  name is relative to the current directory,
55       false if it is absolute (i.e. in Unix, starts with / ).
56
57
58
59       val is_implicit : string -> bool
60
61       Return true if the file name is relative and does  not  start  with  an
62       explicit reference to the current directory ( ./ or ../ in Unix), false
63       if it starts with an explicit reference to the root  directory  or  the
64       current directory.
65
66
67
68       val check_suffix : string -> string -> bool
69
70
71       check_suffix  name suff returns true if the filename name ends with the
72       suffix suff .
73
74       Under Windows ports (including Cygwin), comparison is case-insensitive,
75       relying  on  String.lowercase_ascii  .   Note  that this does not match
76       exactly the interpretation  of  case-insensitive  filename  equivalence
77       from Windows.
78
79
80
81       val chop_suffix : string -> string -> string
82
83
84       chop_suffix  name suff removes the suffix suff from the filename name .
85       The behavior is undefined if name does not end with the suffix  suff  .
86       chop_suffix_opt is thus recommended instead.
87
88
89
90       val chop_suffix_opt : suffix:string -> string -> string option
91
92
93       chop_suffix_opt  ~suffix  filename removes the suffix from the filename
94       if possible, or returns None if the filename does not end with the suf‐
95       fix.
96
97       Under Windows ports (including Cygwin), comparison is case-insensitive,
98       relying on String.lowercase_ascii .  Note  that  this  does  not  match
99       exactly  the  interpretation  of  case-insensitive filename equivalence
100       from Windows.
101
102
103       Since 4.08
104
105
106
107       val extension : string -> string
108
109
110       extension name is the shortest suffix ext of name0 where:
111
112
113       - name0 is the longest suffix of name that does not contain a directory
114       separator;
115
116       - ext starts with a period;
117
118       - ext is preceded by at least one non-period character in name0 .
119
120       If such a suffix does not exist, extension name is the empty string.
121
122
123       Since 4.04
124
125
126
127       val remove_extension : string -> string
128
129       Return  the  given file name without its extension, as defined in File‐
130       name.extension . If the extension is empty, the  function  returns  the
131       given file name.
132
133       The following invariant holds for any file name s :
134
135
136       remove_extension s ^ extension s = s
137
138
139
140       Since 4.04
141
142
143
144       val chop_extension : string -> string
145
146       Same  as  Filename.remove_extension , but raise Invalid_argument if the
147       given name has an empty extension.
148
149
150
151       val basename : string -> string
152
153       Split a file name into directory name / base file name.  If name  is  a
154       valid  file  name, then concat (dirname name) (basename name) returns a
155       file name which is equivalent to name .  Moreover,  after  setting  the
156       current  directory  to  dirname  name  (with Sys.chdir ), references to
157       basename name (which is a relative file name) designate the  same  file
158       as name before the call to Sys.chdir .
159
160       This  function  conforms  to  the specification of POSIX.1-2008 for the
161       basename utility.
162
163
164
165       val dirname : string -> string
166
167       See Filename.basename .  This function conforms to the specification of
168       POSIX.1-2008 for the dirname utility.
169
170
171
172       val temp_file : ?temp_dir:string -> string -> string -> string
173
174
175       temp_file  prefix  suffix returns the name of a fresh temporary file in
176       the temporary directory.  The base name of the temporary file is formed
177       by  concatenating  prefix , then a suitably chosen integer number, then
178       suffix .  The optional argument temp_dir indicates the temporary direc‐
179       tory   to   use,   defaulting   to   the   current   result   of  File‐
180       name.get_temp_dir_name .  The temporary file  is  created  empty,  with
181       permissions  0o600 (readable and writable only by the file owner).  The
182       file is guaranteed to be different from any  other  file  that  existed
183       when  temp_file  was  called.  Raise Sys_error if the file could not be
184       created.
185
186
187       Before3.11.2 no ?temp_dir optional argument
188
189
190
191
192       val  open_temp_file   :   ?mode:open_flag   list   ->   ?perms:int   ->
193       ?temp_dir:string -> string -> string -> string * out_channel
194
195       Same  as Filename.temp_file , but returns both the name of a fresh tem‐
196       porary file, and an output channel opened (atomically)  on  this  file.
197       This function is more secure than temp_file : there is no risk that the
198       temporary file will be modified (e.g.  replaced  by  a  symbolic  link)
199       before  the  program opens it.  The optional argument mode is a list of
200       additional flags to control the opening of the file.   It  can  contain
201       one  or  several  of  Open_append  , Open_binary , and Open_text .  The
202       default is [Open_text] (open in text mode). The file  is  created  with
203       permissions  perms  (defaults to readable and writable only by the file
204       owner, 0o600 ).
205
206
207       Before4.03.0 no ?perms optional argument
208
209
210
211       Before3.11.2 no ?temp_dir optional argument
212
213
214
215       Raises Sys_error if the file could not be opened.
216
217
218
219       val get_temp_dir_name : unit -> string
220
221       The name of the temporary directory:  Under  Unix,  the  value  of  the
222       TMPDIR  environment  variable,  or  "/tmp"  if the variable is not set.
223       Under Windows, the value of the TEMP environment variable, or  "."   if
224       the  variable  is not set.  The temporary directory can be changed with
225       Filename.set_temp_dir_name .
226
227
228       Since 4.00.0
229
230
231
232       val set_temp_dir_name : string -> unit
233
234       Change the temporary directory returned  by  Filename.get_temp_dir_name
235       and used by Filename.temp_file and Filename.open_temp_file .
236
237
238       Since 4.00.0
239
240
241
242       val temp_dir_name : string
243
244       Deprecated.  You should use Filename.get_temp_dir_name instead.
245
246
247       The  name  of the initial temporary directory: Under Unix, the value of
248       the TMPDIR environment variable, or "/tmp" if the variable is not  set.
249       Under  Windows,  the value of the TEMP environment variable, or "."  if
250       the variable is not set.
251
252
253       Since 3.09.1
254
255
256
257       val quote : string -> string
258
259       Return a quoted version of a file name, suitable for use as  one  argu‐
260       ment  in  a command line, escaping all meta-characters.  Warning: under
261       Windows, the output is only suitable for use with programs that  follow
262       the standard Windows quoting conventions.
263
264
265
266
267
268OCamldoc                          2019-07-30                Stdlib.Filename(3)
Impressum