python脚本练习笔记

调用socket,用网络接受数据linux_file_open_helper_daemon.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import socket
import os, sys

# 建立一个服务端
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#server.bind(('localhost',6999)) #绑定要监听的端口
server.bind(('192.168.80.1',17859)) #绑定要监听的端口
server.listen(2) #开始监听 表示可以使用五个链接排队
while True:# conn就是客户端链接过来而在服务端为期生成的一个链接实例
    conn,addr = server.accept() #等待链接,多个链接的时候就会出现问题,其实返回了两个值
    print('accept:', conn,addr)
    try:
        data = conn.recv(1024)  #接收数据
        print('recive:',data.decode()) #打印接收到的数据

        #fd = os.open("Z:\\.local\\share\\win_app_helper\\prefer_open",os.O_RDWR)
        #ret = os.read(fd,256)
        #print("ret:",ret)
        #os.close(fd)

        test_str = data.decode()
        print('npp data=', test_str.find('npp ', 0))
        print('explorer data=', test_str.find('explorer ', 0))
        if test_str.find('npp ', 0) == 0 or test_str.find('explorer ', 0) == 0 :
            cmd = data.decode()
        else:
            cmd = 'C:\\Users\\ag\\work\\backup\\win_scripts\\open_prefer_linux_file.bat'

        result = os.popen(cmd,'r',1)
        print('result', result)

        msg = 'recv_ok, accept cmd='+cmd
        conn.send(msg.encode('utf-8')) #然后再发送数据
    except ConnectionResetError as e:
        print('error:ConnectionResetError!')
        break
    conn.close()

调用socket,用网络发送数据win_open_notifier.py

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys
import socket# 客户端 发送一个数据,再接收一个数据
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #声明socket类型,同时生成链接对象
client.connect(('192.168.80.1',17859)) #建立一个链接,连接到本地的6969端口

# addr = client.accept()
# print '连接地址:', addr

#print 'INPUT ARGS=', sys.argv[1:]

#msg = 'open some linux file.'  #strip默认取出字符串的头尾空格
#msg = sys.argv[1:]
msg = sys.argv[1]
#print 'INPUT msg=', msg

client.send(msg.encode('utf-8'))  #发送一条信息 python3 只接收btye流
data = client.recv(1024) #接收一个信息,并指定接收的大小 为1024字节
print('recv:',data.decode()) #输出我接收的信息
client.close() #关闭这个链接

提醒do_sth.pyw

import datetime
import time

from win10toast import ToastNotifier
toaster = ToastNotifier()

def doSth():
    print('test')
    toaster.show_toast(u'活动提醒', u'do sth', icon_path="custom.ico", duration=-1)

def main():
    while True:
        # 做正事,一天做一次
        doSth()

        # 不到时间就等20秒之后再次检测
        time.sleep(45*60)


main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值