微信远程访问电脑资源-基于Itchat

基于Itchat,微信远程访问电脑文件

设计思路

  • 用户输入用户名和密码后遍历当前硬盘分区
  • 为每一个路径和文件建立索引
  • 区分路径和文件,以便于查看
  • 每次显示内容包括当前路径下所有文件和文件夹,以及前一级路径

-1:dir:D:
0:dir:$RECYCLE.BIN
1:dir:altera
2:dir:AMD
3:dir:Config.Msi
4:dir:iTudou
5:dir:MSOCache
6:dir:Program Files
7:dir:Program Files (x86)
8:dir:PythonAll
9:dir:SoftwareDistribution
10:dir:System Volume Information
11:dir:WindowsApps
12:dir:WpSystem
13:dir:WUDownloadCache
14:dir:Youku Files
15:dir:zjq
  • -1表示前一级路径
  • 0,1,…表示当前文件和文件夹的索引
  • dir表示文件夹
  • file表示文件


  • 遍历计算机所有盘符

def initOSpath():   
    # path = os.popen("wmic VOLUME GET Label").read()
    # path = path.split()
    # t_OSpath = {}
    # for i in range(len(path)):
    #     t_OSpath[str(i)]=['dir', path[i].decode('gbk')]
    # t_OSpath['0'][1]=u'系统'
    drive={}
    j=0
    for i in range(65,91):
        t_path=chr(i)+':'
        if os.path.isdir(t_path):
            drive[str(j)] = ['dir', t_path.decode('utf-8')]
            j+=1
    return drive

上面的程序中被注释的部分是获取计算机分区的名字(本地磁盘、software、projects…),下面的部分是获取盘符(C:、D:…)
由于获取盘符和驱动号顺序不一致,不知道该如何对应上,所以就只获取了驱动号,没有加分区的名字,如有哪位兄弟有解决办法请留言


数据结构

  • 用字典存储路径信息和路径类型信息(dir or file)
  • key:’-1’的值是一个二维list
    list[0]是一个字符串,表示路径类型信息(文件夹或文件)
    list[1]是一个一维list,用来存储每一级路径的文件夹名字
  • key:’0,1,…’的值是一个一维list
    list[0]表示文件类型
    list[1]表示当前路径名称

关键函数列表

  • os.listdir(path) :遍历路径
  • os.path.isdir :判断是否为路径
  • itchat.send_msg :向微信发送消息
  • itchat.send_file :向微信发送文件

注意事项
* 考虑到中文目录和文件夹,路径数据应该用unicode字符,utf-8调试时是乱码
* os.listdir函数接收的路径应该是unicode编码,其返回的路径也是unicode编码
* os.popen返回的信息是gbk编码,应该解码成unicode


  • 整个工程比较简单,只有一个文件,CSDN下载地址下载
  • 刚学编程不久,代码结构比较乱,不过看见自己一点点在进步还是很欣慰的,如果有高手愿意指点,一起交流学习就更好了
  • 后续修改建议,对于大文件可以发送到指定的邮箱
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值