前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >日常踩坑实录

日常踩坑实录

作者头像
GitOPEN
发布2020-02-14 15:43:08
1.8K0
发布2020-02-14 15:43:08
举报

前言

在coding的过程中,难免会遇到各种问题,我把踩过/填满的坑记录下来,一方面有助于今后查缺补漏,也希望能够帮到其它小伙伴。 —— by GitOPEN

碎片

过滤字符串中的emoji表情和符号[Python]

最近在抓取了几十万条微博数据,目的是对其进行情感分析,这就需要过滤掉内容中表情等特殊符号。在Google了一圈以后,发现很多方法过滤的效果不好,因此自己记录一下,如何更加全面的过滤掉表情符号。这个方法综合使用了正则表达式和emoji库。

代码语言:javascript
复制
import emoji


def filter_emoji(text):
    """
        过滤表情。
        Author: GitOPEN
    """
    try:
        regex = re.compile(u'[\U00010000-\U0010ffff]')
    except re.error:
        regex = re.compile(u'[\uD800-\uDBFF][\uDC00-\uDFFF]')

    text = regex.sub(u'', text)

    return ''.join(word for word in text if word not in emoji.UNICODE_EMOJI)

# 测试:随机输入3个人物emoji,3个自然,3个食物,3个符号,3个物体,3个旗帜
emoji_text = '??‍?世界,我是周董???,???你好吗?❤️㊗️?我很好,日子过得还算不错!???你呢???????'
print(filter_emoji(emoji_text))

git 设置代理

由于众所周知的原因,git速度实在是蜗速,只有几KB/s。挂上小飞机✈️,按照下面设置,速度瞬间飞起!当然你得有一架好飞机~? 如果你的✈️非得不够高,那么请参考之前我的推荐《快的飞起小飞滴~》

代码语言:javascript
复制
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'

取消git代理:

代码语言:javascript
复制
git config --global --unset http.proxy
git config --global --unset https.proxy

Python/Django生成CSV文件内容乱码

在Django视图函数中生成CSV文件,用微软妹子家的Excel打开会乱码,解决方法:

代码语言:javascript
复制
def book_price(request):
    import csv, codecs

    titles = ['明朝那些事儿', '围城', '北京法源寺', '平凡的世界', '丰乳肥臀']
    response = HttpResponse(content_type='text/csv')
    # 解决乱码
    response.write(codecs.BOM_UTF8)
    response['Content-Disposition'] = 'attachment; filename=book_price.csv'
    writer = csv.writer(response)
    writer.writerow(['title', 'price'])
    for (title, price) in zip(titles, range(69, 99)):
        print(title, price)
        writer.writerow([title, price])

    return response

使用Python写CSV文件时,也会出现相同的问题,解决方法:

代码语言:javascript
复制
import csv, codecs
f=open('temp.csv','w')
# 解决乱码
f.write(codecs.BOM_UTF8)
writer = csv.writer(f)
writer.writerow(['图书','出版社','价格'])
writer.writerow(['明朝那些事儿','机械工业出版社','146.99'])
f.close()

使用Python读取CSV文件时,也会出现乱码的问题,解决方法,指定目标文件的编码方式:

代码语言:javascript
复制
import csv
with open('data.csv', 'r', encoding='utf-8') as f:
    f_csv = csv.reader(f)
    for row in f_csv:
        print(row)

macOS 移除Google的GoogleSoftwareUpdateAgent更新程序

查看该程序有没有在运行:

代码语言:javascript
复制
defaults read com.google.Keystone.Agent

如果看到的是Domain com.google.Keystone.Agent does not exist,则没有运行,无需移除;

如果是一长串吧哩巴拉,那么需要移除。移除方法:

代码语言:javascript
复制
sudo /Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/ksinstall --uninstall

移除完毕后可再次检测一遍。

Firefox开启Youtube的4k视频

macOS上Firefox默认不能看Youtube的4k及以上分辨率视频,调整ff的设置即可打开。

  • 在Firefox中打开about:config
  • 搜索media.mediasource.webm.enabled
  • 将其值设置为true即可

macOS fish shell 终端设置代理

安装 fish shell 后,iterm2 或 Terminal 用起来不能更爽。但是如果能够让终端中的网络走代理,那么更是爽之又爽。

代码语言:javascript
复制
vim ~/.config/fish/config.fish

输入以下设置,端口号按照自己代理的配置进行更改:

代码语言:javascript
复制
set -x https_proxy http://127.0.0.1:7890
set -x http_proxy http://127.0.0.1:7890
set -x all_proxy socks5://127.0.0.1:7891

matplotlib 后台画图报错 NSInternalInconsistencyException

更新于 2020/01/30 10:52:00

最近在对APS数据集进行分析,需要使用matplotlib网状结构和趋势图,但是由于数据量较大,我加入了多线程进行操作,出现报错(中间有好多行,省略):

代码语言:javascript
复制
2020-01-29 16:41:59.365 python[78453:3976088] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff2c5d18ab __exceptionPreprocess + 250
	1   libobjc.A.dylib                     0x00007fff62842805 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff2c5fa30c -[NSException raise] + 9
	3   AppKit                              0x00007fff2974a538 -[NSWindow(NSWindow_Theme) _postWindowNeedsToResetDragMarginsUnlessPostingDisabled] + 310
	4   AppKit                              0x00007fff29731ed5 -[NSWindow _initContent:styleMask:backing:defer:contentView:] + 1416

    75  python                              0x000000010592e345 PyObject_Call + 101
	76  python                              0x0000000105a5d7a6 t_bootstrap + 70
	77  libsystem_pthread.dylib             0x00007fff63db4e65 _pthread_start + 148
	78  libsystem_pthread.dylib             0x00007fff63db083b thread_start + 15
)
libc++abi.dylib: terminating with uncaught exception of type NSException
fish: 'python make_networks7.py' terminated by signal SIGABRT (Abort)

主体错误为:

Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'NSWindow drag regions should only be invalidated on the Main Thread!'

解决方法如下:

import matplotlib.pyplot as plt以后,设置matplotlib在后台运行,不显示前台GUI,设置方法如下:

代码语言:javascript
复制
matplotlib.use('agg')

或者

代码语言:javascript
复制
plt.switch_backend('agg')


未完待续,越踩坑越??


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020/01/30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 碎片
    • 过滤字符串中的emoji表情和符号[Python]
      • git 设置代理
        • Python/Django生成CSV文件内容乱码
          • macOS 移除Google的GoogleSoftwareUpdateAgent更新程序
            • Firefox开启Youtube的4k视频
              • macOS fish shell 终端设置代理
                • matplotlib 后台画图报错 NSInternalInconsistencyException
                  • 未完待续,越踩坑越??
                  相关产品与服务
                  文件存储
                  文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档