Nasal library/os.path: Difference between revisions
Red Leader (talk | contribs) m (→set(): Fix minor error in example 2) |
Red Leader (talk | contribs) m (→exists()) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 19: | Line 19: | ||
|param1 = path | |param1 = path | ||
|param1text = Optional string specifying the filepath. If not given, the path will default to [[$FG_ROOT]] | |param1text = Optional string specifying the filepath. If not given, the path will default to [[$FG_ROOT]] | ||
|example1 | |example1 = var path = os.path.new("C:/Windows"); # Windows filepath | ||
# var path = os.path.new("/usr/bin/"); # Unix filepath | # var path = os.path.new("/usr/bin/"); # Unix filepath | ||
print(path.realpath); | print(path.realpath); | ||
Line 33: | Line 31: | ||
|param1text = Optional string specifying the filepath. If not given, the path will be set to [[$FG_ROOT]] | |param1text = Optional string specifying the filepath. If not given, the path will be set to [[$FG_ROOT]] | ||
|example1 = var path = os.path.new("C:/Windows"); | |example1 = var path = os.path.new("C:/Windows"); | ||
# var path = os.path.new("/usr/bin/"); # alternative Unix filepath | # var path = os.path.new("/usr/bin/"); # alternative Unix filepath | ||
print(path.realpath); | print(path.realpath); | ||
Line 46: | Line 39: | ||
==== append() ==== | ==== append() ==== | ||
{{Nasal doc | |||
|syntax = os.path.append([path]); | |||
|text = Appends a new part to the filepath. | |||
|param1 = path | |||
|param1text = Optional string specifying the new part to add to the filepath. If not given, the resultant path will not change. | |||
|example1 = var path = os.path.new("C:/Windows"); | |||
# var path = os.path.new("/usr/"); # alternative Unix filepath | |||
print(path.realpath); | |||
path.append("Program Files"); | |||
# path.append("bin"); # alternative Unix filepath | |||
print(path.realpath); # prints "C:/Windows/Program Files" or "/usr/bin" | |||
}} | |||
==== concat() ==== | ==== concat() ==== | ||
{{Nasal doc | |||
|syntax = os.path.concat([path]); | |||
|text = Appends a new part to the filepath. | |||
|param1 = path | |||
|param1text = Optional string specifying part to concat to the existing filepath. Note that this will simply add the string to the end of the path without adding a separator. If not given, the resultant path will not change. | |||
|example1 = var path = os.path.new("C:/Windows"); | |||
# var path = os.path.new("/usr"); # alternative Unix filepath | |||
print(path.realpath); | |||
path.concat("/Program Files"); | |||
# path.concat("/bin"); # alternative Unix filepath | |||
print(path.realpath); # prints "C:/Windows/Program Files" or "/usr/bin" | |||
}} | |||
==== exists() ==== | ==== exists() ==== | ||
{{Nasal doc | |||
|syntax = os.path.exists(); | |||
|text = Returns 1 (true) if the path exists and 0 (false) if it does not. | |||
|example1 = var path = os.path.new("C:/Windows"); | |||
# var path = os.path.new("/usr"); # alternative Unix filepath | |||
print(path.exists()); # prints 1 (true) | |||
path.set("C:/Window"); | |||
# path.set("/r"); # alternative Unix filepath | |||
print(path.exists()); # prints 0 (false) | |||
}} | |||
==== canRead() ==== | ==== canRead() ==== | ||
==== canWrite() ==== | ==== canWrite() ==== |
Revision as of 21:26, 17 February 2018
The FlightGear forum has a subforum related to: Nasal Scripting |
Nasal scripting |
---|
Nasal internals |
---|
Memory Management (GC) |
This page contains documentation for the os.path
namespace in Nasal. This namespace implements tools (from SGPath) for manipulating file paths. Everything in the geo
namespace is sourced from flightgear/src/Scripting/NasalSGPath.cxx
Tip Copy & paste the examples into your Nasal Console and execute them to see what they do. |
Note Everything here was added to FlightGear 3.0. |
Class
os.path
A pseudo-class (actually a Nasal ghost). This is the main class that stores and allows manipulation of file paths. This is also integrated into the os.path
.
new()
os.path.new([path]);
Constructor function. Returns a new os.path
instance. Note that the path must not violate the rules for allowed paths.
- path
- Optional string specifying the filepath. If not given, the path will default to $FG_ROOT
Example
var path = os.path.new("C:/Windows"); # Windows filepath
# var path = os.path.new("/usr/bin/"); # Unix filepath
print(path.realpath);
set()
os.path.set([path]);
Sets the filepath. Note that the path must not violate the rules for allowed paths.
- path
- Optional string specifying the filepath. If not given, the path will be set to $FG_ROOT
Example
var path = os.path.new("C:/Windows");
# var path = os.path.new("/usr/bin/"); # alternative Unix filepath
print(path.realpath);
path.set("C:/Windows/Program Files");
# path.set("/usr/"); # alternative Unix filepath
print(path.realpath); # prints new path
append()
os.path.append([path]);
Appends a new part to the filepath.
- path
- Optional string specifying the new part to add to the filepath. If not given, the resultant path will not change.
Example
var path = os.path.new("C:/Windows");
# var path = os.path.new("/usr/"); # alternative Unix filepath
print(path.realpath);
path.append("Program Files");
# path.append("bin"); # alternative Unix filepath
print(path.realpath); # prints "C:/Windows/Program Files" or "/usr/bin"
concat()
os.path.concat([path]);
Appends a new part to the filepath.
- path
- Optional string specifying part to concat to the existing filepath. Note that this will simply add the string to the end of the path without adding a separator. If not given, the resultant path will not change.
Example
var path = os.path.new("C:/Windows");
# var path = os.path.new("/usr"); # alternative Unix filepath
print(path.realpath);
path.concat("/Program Files");
# path.concat("/bin"); # alternative Unix filepath
print(path.realpath); # prints "C:/Windows/Program Files" or "/usr/bin"
exists()
os.path.exists();
Returns 1 (true) if the path exists and 0 (false) if it does not.
Example
var path = os.path.new("C:/Windows");
# var path = os.path.new("/usr"); # alternative Unix filepath
print(path.exists()); # prints 1 (true)
path.set("C:/Window");
# path.set("/r"); # alternative Unix filepath
print(path.exists()); # prints 0 (false)