a file which does not exist. The correct way to use me is to instantiate me, and then do ALL filesystem access through me. In other words, do not import the 'os' module; if you need to open a file, call my 'open' method. If you need to list a directory, call my 'path' method. Even if you pass me a relative path, I will convert that to an absolute path internally. Note: although time-related methods do return floating-point results, they may still be only second resolution depending on the platform and the last value passed to L{os.stat_float_times}. If you want greater-than-second precision, call C{os.stat_float_times(True)}, or use Python 2.5. Greater-than-second precision is only available in Windows on Python2.5 and later. The type of C{path} when instantiating decides the mode of the L{FilePath}. That is, C{FilePath(b"/")} will return a L{bytes} mode L{FilePath}, and C{FilePath(u"/")} will return a L{unicode} mode L{FilePath}. C{FilePath("/")} will return a L{bytes} mode L{FilePath} on Python 2, and a L{unicode} mode L{FilePath} on Python 3. Methods that return a new L{FilePath} use the type of the given subpath to decide its mode. For example, C{FilePath(b"/").child(u"tmp")} will return a L{unicode} mode L{FilePath}. @type alwaysCreate: L{bool} @ivar alwaysCreate: When opening this file, only succeed if the file does not already exist. @type path: L{bytes} or L{unicode} @ivar path: The path from which 'downward' traversal is permitted. @ivar statinfo: (WARNING: statinfo is deprecated as of Twisted 15.0.0 and will become a private attribute) The currently cached status information about the file on the filesystem that this L{FilePath} points to. This attribute is L{None} if the file is in an indeterminate state (either this L{FilePath} has not yet had cause to call C{stat()} yet or L{FilePath.changed} indicated that new information is required), 0 if C{stat()} was called and returned an error (i.e. the path did not exist when C{stat()} was called), or a C{stat_result} object that describes the last known status of the underlying file (or directory, as the case may be). Trust me when I tell you that you do not want to use this attribute. Instead, use the methods on L{FilePath} which give you information about it, like C{getsize()}, C{isdir()}, C{getModificationTime()}, and so on. @type statinfo: L{int} or L{None} or L{os.stat_result} NFc