以下是使用 PyQt 编写的将 TXT 文件转换为 BIN 文件的程序示例:

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QTextEdit, QPushButton, QVBoxLayout, QFileDialog


class TxtToBinConverter(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle('Txt to Bin Converter')
        self.setGeometry(100, 100, 400, 200)

        self.lbl_file_path = QLabel('File Path:', self)
        self.txt_file_path = QTextEdit(self)

        self.btn_browse = QPushButton('Browse', self)
        self.btn_browse.clicked.connect(self.browse_file)

        self.btn_convert = QPushButton('Convert', self)
        self.btn_convert.clicked.connect(self.convert_to_bin)

        layout = QVBoxLayout()
        layout.addWidget(self.lbl_file_path)
        layout.addWidget(self.txt_file_path)
        layout.addWidget(self.btn_browse)
        layout.addWidget(self.btn_convert)

        self.setLayout(layout)

    def browse_file(self):
        file_path, _ = QFileDialog.getOpenFileName(self, 'Select Text File')
        self.txt_file_path.setText(file_path)

    def convert_to_bin(self):
        file_path = self.txt_file_path.toPlainText()

        try:
            with open(file_path, 'r') as txt_file:
                data = txt_file.read()
                bin_file_path = file_path + '.bin'

                with open(bin_file_path, 'wb') as bin_file:
                    bin_file.write(data.encode())
                    print('File converted to binary:', bin_file_path)

        except Exception as e:
            print('Error converting file:', str(e))


if __name__ == '__main__':
    app = QApplication(sys.argv)
    txt_to_bin_converter = TxtToBinConverter()
    txt_to_bin_converter.show()
    sys.exit(app.exec_())

在这个示例程序中,通过点击'Browse'按钮选择要转换的 txt 文件。通过点击'Convert'按钮,程序将尝试将 txt 文件的内容转换为二进制,并将转换后的二进制数据保存为 bin 文件。

请注意,该程序假设 txt 文件中的内容可以被编码为二进制数据,并将其作为文本数据进行编码。如果 txt 文件中包含非文本数据,转换结果可能会不正确。

此示例仅提供了基本的 txt 文件转换为 bin 文件的功能,您可以根据自己的需求进行修改和完善。例如,您可以添加更多的错误处理逻辑,实现文件路径的自定义选择,或者提供进度条来显示转换进度。

使用 PyQt 将 TXT 文件转换为 BIN 文件:简单程序示例

原文地址: https://www.cveoy.top/t/topic/bNbc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录