1Stdlib.Filename(3) OCaml library Stdlib.Filename(3)
2
3
4
6 Stdlib.Filename - no description
7
9 Module Stdlib.Filename
10
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)