python保存文件到桌面_将文件从列表拖到桌面python

这段代码展示了如何使用Python的wx库创建一个文件管理器,允许用户将文件从列表拖放到桌面。程序会列出当前目录下的文件,包括名称、扩展名、大小和修改日期,并根据文件类型设置图标。拖放操作通过wx.DropSource实现,允许用户将选中的文件路径保存到桌面。
摘要由CSDN通过智能技术生成

奇怪的是,它说AddFile方法在文档中只是Windows,但是我不知道这是否真的是真的。总之,下面是一个简单的例子,基于您给出的原始示例:import wx

import os

import time

class MyListCtrl(wx.ListCtrl):

def __init__(self, parent, id):

wx.ListCtrl.__init__(self, parent, id, style=wx.LC_REPORT)

files = os.listdir('.')

self.InsertColumn(0, 'Name')

self.InsertColumn(1, 'Ext')

self.InsertColumn(2, 'Size', wx.LIST_FORMAT_RIGHT)

self.InsertColumn(3, 'Modified')

self.SetColumnWidth(0, 220)

self.SetColumnWidth(1, 70)

self.SetColumnWidth(2, 100)

self.SetColumnWidth(3, 420)

j = 0

for i in files:

(name, ext) = os.path.splitext(i)

ex = ext[1:]

size = os.path.getsize(i)

sec = os.path.getmtime(i)

self.InsertStringItem(j, "%s%s" % (name, ext))

self.SetStringItem(j, 1, ex)

self.SetStringItem(j, 2, str(size) + ' B')

self.SetStringItem(j, 3, time.strftime('%Y-%m-%d %H:%M',

time.localtime(sec)))

if os.path.isdir(i):

self.SetItemImage(j, 1)

elif ex == 'py':

self.SetItemImage(j, 2)

elif ex == 'jpg':

self.SetItemImage(j, 3)

elif ex == 'pdf':

self.SetItemImage(j, 4)

else:

self.SetItemImage(j, 0)

if (j % 2) == 0:

self.SetItemBackgroundColour(j, '#e6f1f5')

j = j + 1

class FileHunter(wx.Frame):

def __init__(self, parent, id, title):

wx.Frame.__init__(self, parent, -1, title)

panel = wx.Panel(self)

p1 = MyListCtrl(panel, -1)

p1.Bind(wx.EVT_LIST_BEGIN_DRAG, self.onDrag)

sizer = wx.BoxSizer()

sizer.Add(p1, 1, wx.EXPAND)

panel.SetSizer(sizer)

self.Center()

self.Show(True)

#

def onDrag(self, event):

""""""

data = wx.FileDataObject()

obj = event.GetEventObject()

id = event.GetIndex()

filename = obj.GetItem(id).GetText()

dirname = os.path.dirname(os.path.abspath(os.listdir(".")[0]))

fullpath = str(os.path.join(dirname, filename))

data.AddFile(fullpath)

dropSource = wx.DropSource(obj)

dropSource.SetData(data)

result = dropSource.DoDragDrop()

print fullpath

app = wx.App(0)

FileHunter(None, -1, 'File Hunter')

app.MainLoop()

在Windows7、Python2.6和wxPython 2.8.12.1上测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值