3. The File class
The File class represents a fixed filesystem location which may or may not already exist.
Methods
File -- A reference to a fixed filesystem location which may or may not
already exist. Provides a variety of properties and constructors
for converting to and from other Python types.
Constructors:
File(path) -- make File object from POSIX path
File.makewithhfspath(path) -- make File object from HFS path
File.makewithurl(url) -- make File object from file URL
File.makewithdesc(desc) -- make File object from
aem.ae.AEDesc of typeFileURL
Properties:
path : unicode -- POSIX path
hfspath : unicode -- HFS path
url : string -- file URL
file : mactypes.File -- a new File object
alias : mactypes.Alias
desc : aem.ae.AEDesc
Examples
from appscript import *
from mactypes import *
f = File('/Users/foo/some file')
print f
# mactypes.File("/Users/foo/some file")
print f.path
# /Users/foo/some file
print f.url
# file://localhost/Users/foo/some%20file
app('TextEdit').documents[1].save(in_=f)
# saves front TextEdit document at the given location
Notes
When creating a File instance, POSIX paths may be either relative or absolute and are automatically normalised using os.path.abspath.
When comparing File objects for equality, File.__eq__ will perform a case-sensitive comparison of their file paths. Client that need to perform (for example) case-insensitive comparisons should obtain path strings from each File object, then normalise and compare those values as necessary.
The File class normally wraps AEDescs of typeFileURL, which can represent both existing and non-existing locations. For legacy compatibility with older Carbon apps, it can also wrap existing AEDescs of typeFSRef or typeFSS, although these obsolete Carbon types are long since deprecated and should not be used now.
