python3打包项目并传参

1.使用pyinstaller包进行打包

安装:pip install pyinstaller

通过cmd传递参数主要通过:

sys.argv[1]代表第一个参数

sys.argv[2]代表第二个参数

例:

import requests

import sys

def getBaiduHtml(keyword):

   url = 'https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=baidu&wd={0}'.format(keyword)

   headers = {

   'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36',

   }

   response = requests.get(url=url,headers=headers)

   return response.text[:2000]

if __name__ == "__main__":

   f =getBaiduHtml(sys.argv[1])

   print(f)

 

2.使用pyinstaller 进行打包:pyinstaller -F baidu.py

-F 打包参数

baidu.py 文件名

3.打包成功cmd进入dist文件夹下运行程序:baidu 参数1

import requests

import sys

import json



def getBaiduHtml(**kwargs):

    """

    kwargs: 字典

    参数:

    method:post;get;默认为get

    url:url;

    timeout:超时时间默认5秒

    post返回:Content-Type返回字段类型

    params:get请求传参;键值对

    data:post请求传参;键值对

    test:get参数:{'method':'GET','url':'https://www.baidu.com/s?ie=utf-8&f=3&rsv_bp=1&rsv_idx=1&tn=baidu','params':{'wd':'北京'}}

    test:post参数:{'method':'POST','url':'https://www.rjmart.cn/gaea/search','data':{'supplierName':'北京','pageSize':10000,'pageNo':1,'sort':0,'flag':20},'Content-Type':'application/json'}

    """

    headers = {

        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36',

        

    }

    if kwargs.get('method','GET').upper() =='GET':

        try:

            response = requests.request(method=kwargs.get('method',''),url=kwargs.get('url',''),headers=headers,params=json.dumps(kwargs.get('params','')),timeout=kwargs.get('timeoout',5))

        except Exception as e:

            print(e)

        else:  

            print(response.text[:2000]) 

    

    else:

        if kwargs.get('Content-Type')=='application/json':

            try:

                response = requests.request(method=kwargs.get('method',''),url=kwargs.get('url',''),headers=headers,json=kwargs.get('data',''),timeout=kwargs.get('timeoout',5))

            except Exception as e:

                print(e)

            else:

                print(response.text[:2000])

        else:

            try:

                response = requests.request(method=kwargs.get('method',''),url=kwargs.get('url',''),headers=headers,data=kwargs.get('data',''),timeout=kwargs.get('timeoout',5))

            except Exception as e:

                print(e)

            else:

                print(response.text[:2000])





if __name__ == "__main__":

    f = "{'method':'POST','url':'https://www.rjmart.cn/gaea/search','data':{'supplierName':'北京','pageSize':10000,'pageNo':1,'sort':0,'flag':20},'Content-Type':'application/json'}"

    getBaiduHtml(**eval(f))

    # getBaiduHtml(**eval(sys.argv[1]))

 

  

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值