Python:如何获取 PyQt5 中选定文件的文件大小?

Posted

技术标签:

【中文标题】Python:如何获取 PyQt5 中选定文件的文件大小?【英文标题】:Python: How can I obtain the filesize of a selected file in PyQt5? 【发布时间】:2017-08-13 19:53:38 【问题描述】:

在 PyQt5 中,可以使用 QFileDialog 选择文件。我知道如何获取文件名,但是如何获取文件大小?

【问题讨论】:

要获取QFileDialog选择的文件大小吗? 如果你有文件名,你可以通过methods from python library获取文件大小。或者你需要别的东西? 一般如何获取文件的大小?我想这也可以在这里工作。 【参考方案1】:

不打开文件:

您必须使用QFileInfo 类和size() 方法:

filename, _ = QFileDialog.getOpenFileName(None, 'Open file')
if filename != "":
    info = QFileInfo(filename)
    size = info.size()
    print(info)

打开文件:

filename, _ = QFileDialog.getOpenFileName(None, 'Open file')
if filename != "":
    file = QFile(filename)
    if file.open(QFile.ReadOnly):
        print(file.size())

【讨论】:

比之前的几个答案好。实施不仅仅是简单的解释。 我建议花点时间看看他们提出的答案是否正确。评论不是答案。 谢谢,我是 Stack Overflow 的新手。【参考方案2】:

来自documentation:

文件对话框有两种查看模式...详细信息还显示文件和目录名称列表,但在每个名称旁边提供附加信息,例如文件大小和修改日期。使用 setViewMode() 设置模式:

dialog.setViewMode(QFileDialog::Detail);

【讨论】:

好的,那么你想在文件名上使用QFileInfo

以上是关于Python:如何获取 PyQt5 中选定文件的文件大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 jquery 的文本区域中获取选定的文本? [复制]

如何在 PyQt5 QTableWidget 中获取选定索引中的项目总和

如何获取目录下的文件数(一行Python)

如何在 Pyqt5 .ui 文件中获取子菜单?

使用pyqt5显示选定行中的一个单元格

QTextEdit如何将当前选定的文本行保持在屏幕上的同一位置