2021-01-12 python 笔记

近期的错题本。

python 笔记:
1. import logging
logging.basicConfig(filename='/var/log/pyftpd.log', level=logging.INFO)

2. os.path.normpath(file_path) 目的是把不同操作系统下的文件路径进行统一。

3. 关于 gevent 导致 url 少一位字符的问题,目前已经尝试过以下可能性
    中文注释导致的编码问题???
    初始存储的url前后有空格???
    速度太快了,没有停歇???
    不同域名之间的切换,导致session 出错???
    jobs.append(poo.spawn(download, u)) 这种写法有问题???实际上写成列表解析的话,会导致url被减去更多。

    最终找到一句话:
    注意:使用gevent,可以获得极高的并发性能,但gevent只能在Unix/Linux下运行,在Windows下不保证正常安装和运行。
    https://blog.csdn.net/weixin_42223833/article/details/91805950?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522160911394716780310140083%252522%25252C%252522scm%252522%25253A%25252220140713.130102334..%252522%25257D&request_id=160911394716780310140083&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-5-91805950.nonecase&utm_term=gevent
    这????!!!!!

    proxy 的写法有问题??? 这个还没测试过。
    self.option.add_argument("--proxy-server=%s" % self.proxy)

4. 更新: 貌似2种写法都是可行的,待证。
一个巨大的错误啊。我的 python requests proxy 在使用方法上一直是错的。
正确的写法是:
http_proxy  = "http://10.10.1.10:3128"
https_proxy = "https://10.10.1.11:1080"
ftp_proxy   = "ftp://10.10.1.10:3128"

# 注意这里是先指定协议名称,然后是完整的url. 
# 而我则是 self.proxies = {'http': '117.185.17.16:80'} 
proxyDict = { 
              "http"  : http_proxy, 
              "https" : https_proxy, 
              "ftp"   : ftp_proxy
            }

r = requests.get(url, headers=headers, proxies=proxyDict)
# 


 
python笔记。
1. 我的selenium + proxy 在配置是上一直是有问题的。 参见  https://www.pythonf.cn/read/141674
如果还是无法隐藏自己真实的ip, 那是因为有坏的代理。!!!!!注意检查一下代理的有效性。
2. 问题的本质在于,代理网站提供的代理,有些是无效的。
3. 我的理解是。gevent.是一件厉害的武器, 但是爆出异常的几率太高了。
4. TypeError: 'set' object is not subscriptable,集合类型无法被迭代。
5. pyperclip 和 clipboard:  仅仅支持文本。
使用 from PIL.ImageGrab import grabclipboard来代替。
6. pyinstaller 
-F 覆盖 打包成一个单一的文件
-w 不带控制台的打包

7. zip()函数,这个必须彻底理解,绝对熟练。
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
def use_zip():
    fake_data = [m+100 for m in range(5)]
    real_data = [t for t in range(10)]

    pretty = zip(fake_data, real_data)

    print(fake_data)
    print(real_data)
    print(list(pretty))
    
    """
    输出:
    [10, 11, 12, 13, 14]
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    [(10, 0), (11, 1), (12, 2), (13, 3), (14, 4)]
    """

你可能感兴趣的:(2021-01-12 python 笔记)