QFileDevice¶
The
QFileDevice
class provides an interface for reading from and writing to open files. More…
Inherited by: QFile, QSaveFile, QTemporaryFile
New in version 5.0.
Synopsis¶
Functions¶
def
error
()def
fileTime
(time)def
flush
()def
handle
()def
map
(offset, size[, flags=NoOptions])def
setFileTime
(newDate, fileTime)def
unmap
(address)def
unsetError
()
Virtual functions¶
def
fileName
()def
permissions
()def
resize
(sz)def
setPermissions
(permissionSpec)
Detailed Description¶
QFileDevice
is the base class for I/O devices that can read and write text and binary files and resources .QFile
offers the main functionality,QFileDevice
serves as a base class for sharing functionality with other file devices such asQTemporaryFile
, by providing all the operations that can be done on files that have been opened byQFile
orQTemporaryFile
.See also
- class PySide2.QtCore.QFileDevice¶
PySide2.QtCore.QFileDevice(parent)
- Parameters:
parent –
PySide2.QtCore.QObject
- PySide2.QtCore.QFileDevice.FileError¶
This enum describes the errors that may be returned by the
error()
function.Constant
Description
QFileDevice.NoError
No error occurred.
QFileDevice.ReadError
An error occurred when reading from the file.
QFileDevice.WriteError
An error occurred when writing to the file.
QFileDevice.FatalError
A fatal error occurred.
QFileDevice.ResourceError
Out of resources (e.g., too many open files, out of memory, etc.)
QFileDevice.OpenError
The file could not be opened.
QFileDevice.AbortError
The operation was aborted.
QFileDevice.TimeOutError
A timeout occurred.
QFileDevice.UnspecifiedError
An unspecified error occurred.
QFileDevice.RemoveError
The file could not be removed.
QFileDevice.RenameError
The file could not be renamed.
QFileDevice.PositionError
The position in the file could not be changed.
QFileDevice.ResizeError
The file could not be resized.
QFileDevice.PermissionsError
The file could not be accessed.
QFileDevice.CopyError
The file could not be copied.
- PySide2.QtCore.QFileDevice.FileTime¶
This enum is used by the
fileTime()
andsetFileTime()
functions.Constant
Description
QFileDevice.FileAccessTime
When the file was most recently accessed (e.g. read or written to).
QFileDevice.FileBirthTime
When the file was created (may not be not supported on UNIX).
QFileDevice.FileMetadataChangeTime
When the file’s metadata was last changed.
QFileDevice.FileModificationTime
When the file was most recently modified.
See also
setFileTime()
fileTime()
fileTime()
New in version 5.10.
- PySide2.QtCore.QFileDevice.Permission¶
This enum is used by the permission() function to report the permissions and ownership of a file. The values may be OR-ed together to test multiple permissions and ownership values.
Constant
Description
QFileDevice.ReadOwner
The file is readable by the owner of the file.
QFileDevice.WriteOwner
The file is writable by the owner of the file.
QFileDevice.ExeOwner
The file is executable by the owner of the file.
QFileDevice.ReadUser
The file is readable by the user.
QFileDevice.WriteUser
The file is writable by the user.
QFileDevice.ExeUser
The file is executable by the user.
QFileDevice.ReadGroup
The file is readable by the group.
QFileDevice.WriteGroup
The file is writable by the group.
QFileDevice.ExeGroup
The file is executable by the group.
QFileDevice.ReadOther
The file is readable by anyone.
QFileDevice.WriteOther
The file is writable by anyone.
QFileDevice.ExeOther
The file is executable by anyone.
Warning
Because of differences in the platforms supported by Qt, the semantics of , and are platform-dependent: On Unix, the rights of the owner of the file are returned and on Windows the rights of the current user are returned. This behavior might change in a future Qt version.
Note
On NTFS file systems, ownership and permissions checking is disabled by default for performance reasons. To enable it, include the following line:
extern Q_CORE_EXPORT int qt_ntfs_permission_lookup;
Permission checking is then turned on and off by incrementing and decrementing
qt_ntfs_permission_lookup
by 1.qt_ntfs_permission_lookup += 1 // turn checking on qt_ntfs_permission_lookup += 1 // turn it off again
- PySide2.QtCore.QFileDevice.FileHandleFlag¶
This enum is used when opening a file to specify additional options which only apply to files and not to a generic
QIODevice
.Constant
Description
QFileDevice.AutoCloseHandle
The file handle passed into
open()
should be closed byclose()
, the default behavior is that close just flushes the file and the application is responsible for closing the file handle. When opening a file by name, this flag is ignored as Qt always owns the file handle and must close it.QFileDevice.DontCloseHandle
If not explicitly closed, the underlying file handle is left open when the
QFile
object is destroyed.
- PySide2.QtCore.QFileDevice.MemoryMapFlags¶
This enum describes special options that may be used by the
map()
function.Constant
Description
QFileDevice.NoOptions
No options.
QFileDevice.MapPrivateOption
The mapped memory will be private, so any modifications will not be visible to other processes and will not be written to disk. Any such modifications will be lost when the memory is unmapped. It is unspecified whether modifications made to the file made after the mapping is created will be visible through the mapped memory. This enum value was introduced in Qt 5.4.
- PySide2.QtCore.QFileDevice.error()¶
- Return type:
Returns the file error status.
The I/O device status returns an error code. For example, if
open()
returnsfalse
, or a read/write operation returns -1, this function can be called to find out the reason why the operation failed.See also
- PySide2.QtCore.QFileDevice.fileName()¶
- Return type:
str
Returns the name of the file. The default implementation in
QFileDevice
returns a null string.
- PySide2.QtCore.QFileDevice.fileTime(time)¶
- Parameters:
time –
FileTime
- Return type:
Returns the file time specified by
time
. If the time cannot be determined return QDateTime() (an invalid date time).See also
setFileTime()
FileTime
isValid()
- PySide2.QtCore.QFileDevice.flush()¶
- Return type:
bool
Flushes any buffered data to the file. Returns
true
if successful; otherwise returnsfalse
.
- PySide2.QtCore.QFileDevice.handle()¶
- Return type:
int
Returns the file handle of the file.
This is a small positive integer, suitable for use with C library functions such as
fdopen()
andfcntl()
. On systems that use file descriptors for sockets (i.e. Unix systems, but not Windows) the handle can be used withQSocketNotifier
as well.If the file is not open, or there is an error, returns -1.
See also
- PySide2.QtCore.QFileDevice.map(offset, size[, flags=NoOptions])¶
- Parameters:
offset – int
size – int
flags –
MemoryMapFlags
- Return type:
PyObject
Maps
size
bytes of the file into memory starting atoffset
. A file should be open for a map to succeed but the file does not need to stay open after the memory has been mapped. When theQFile
is destroyed or a new file is opened with this object, any maps that have not been unmapped will automatically be unmapped.The mapping will have the same open mode as the file (read and/or write), except when using
MapPrivateOption
, in which case it is always possible to write to the mapped memory.Any mapping options can be passed through
flags
.Returns a pointer to the memory or
None
if there is an error.See also
- PySide2.QtCore.QFileDevice.permissions()¶
- Return type:
Permissions
Returns the complete OR-ed together combination of
Permission
for the file.See also
- PySide2.QtCore.QFileDevice.resize(sz)¶
- Parameters:
sz – int
- Return type:
bool
Sets the file size (in bytes)
sz
. Returnstrue
if the resize succeeds; false otherwise. Ifsz
is larger than the file currently is, the new bytes will be set to 0; ifsz
is smaller, the file is simply truncated.Warning
This function can fail if the file doesn’t exist.
See also
size()
- PySide2.QtCore.QFileDevice.setFileTime(newDate, fileTime)¶
- Parameters:
newDate –
PySide2.QtCore.QDateTime
fileTime –
FileTime
- Return type:
bool
Sets the file time specified by
fileTime
tonewDate
, returning true if successful; otherwise returns false.Note
The file must be open to use this function.
See also
fileTime()
FileTime
- PySide2.QtCore.QFileDevice.setPermissions(permissionSpec)¶
- Parameters:
permissionSpec –
Permissions
- Return type:
bool
Sets the permissions for the file to the
permissions
specified. Returnstrue
if successful, orfalse
if the permissions cannot be modified.Warning
This function does not manipulate ACLs, which may limit its effectiveness.
See also
- PySide2.QtCore.QFileDevice.unmap(address)¶
- Parameters:
address – str
- Return type:
bool
Unmaps the memory
address
.Returns
true
if the unmap succeeds; false otherwise.See also
© 2022 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.