分享

微信远程访问电脑资源

 ly88 2018-03-17

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

设计思路

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

-1:dir:D:0:dir:$RECYCLE.BIN1:dir:altera2:dir:AMD3:dir:Config.Msi4:dir:iTudou5:dir:MSOCache6:dir:Program Files7:dir:Program Files (x86)8:dir:PythonAll9:dir:SoftwareDistribution10:dir:System Volume Information11:dir:WindowsApps12:dir:WpSystem13:dir:WUDownloadCache14:dir:Youku Files15:dir:zjq
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • -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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

上面的程序中被注释的部分是获取计算机分区的名字(本地磁盘、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下载地址下载
  • 刚学编程不久,代码结构比较乱,不过看见自己一点点在进步还是很欣慰的,如果有高手愿意指点,一起交流学习就更好了
  • 后续修改建议,对于大文件可以发送到指定的邮箱

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多