python写一个用户拖动文件进去自动读取路径的程序,读取的路径填入另一个python程序中
时间: 2024-03-01 11:52:05 浏览: 147
可以使用 Pyperclip 模块将读取的路径复制到剪贴板中,然后在另一个 Python 程序中读取剪贴板内容。下面是一个示例程序:
拖拽文件并读取路径的程序:
```python
import sys
import pyperclip
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtGui import QPixmap, QImage
from PyQt5.QtCore import Qt
class DragDropWidget(QWidget):
def __init__(self):
super().__init__()
self.setAcceptDrops(True)
self.label = QLabel(self)
self.label.setAlignment(Qt.AlignCenter)
self.label.setText("Drag and drop a file here")
self.label.setGeometry(0, 0, 400, 300)
def dragEnterEvent(self, event):
if event.mimeData().hasUrls:
event.accept()
else:
event.ignore()
def dragMoveEvent(self, event):
if event.mimeData().hasUrls:
event.accept()
else:
event.ignore()
def dropEvent(self, event):
if event.mimeData().hasUrls:
file_path = event.mimeData().urls()[0].toLocalFile()
pyperclip.copy(file_path)
self.label.setText(f"File path copied to clipboard:\n{file_path}")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = DragDropWidget()
window.setWindowTitle('Drag and Drop Widget')
window.setGeometry(500, 300, 400, 300)
window.show()
sys.exit(app.exec_())
```
读取剪贴板内容的程序:
```python
import pyperclip
file_path = pyperclip.paste()
print(f"File path read from clipboard:\n{file_path}")
# 在这里可以使用 file_path 变量进行后续处理
```
在第一个程序中,我们使用了 Pyperclip 模块将读取的文件路径复制到剪贴板中。在第二个程序中,使用 Pyperclip 模块读取剪贴板中的内容,从而获取文件路径。可以在第二个程序中使用该路径进行后续处理。
阅读全文