前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python实际开发中经常用到和遇到的问题

Python实际开发中经常用到和遇到的问题

作者头像
嘉美伯爵
发布2021-01-18 11:06:37
4390
发布2021-01-18 11:06:37
举报

文件操作

  • 读取大文件
代码语言:javascript
复制
with open('test.txt', 'r') as file:
        while True:
            line = file.readline()
            if line:
                print(line)
            else:
                break
  • 多线程线程池

在实际开发中进程还是慎用的,但使用多线程要注意线程变量的问题,线程变量是共享的,因此操作一些文件要保证文件名是唯一的

代码语言:javascript
复制
from concurrent.futures import ThreadPoolExecutor
with ThreadPoolExecutor(6) as executor:
    for each in get_card():
        executor.submit(task, each)
  • 批量移动

这样操作效率会高一些

代码语言:javascript
复制
import os, shutil  

# 绝对路径  
src_dir = os.path.abspath(r"C:\Users\Yaotc\Desktop\hi\train_2018")  
dst_dir = os.path.abspath(r"C:\Users\Yaotc\Desktop\hi\data")  

if not os.path.exists(dst_dir):  
    os.makedirs(dst_dir)  

if os.path.exists(src_dir):  
    # root 所指的是当前正在遍历的这个文件夹的本身的地址  
    # dirs 是一个 list,内容是该文件夹中所有的目录的名字(不包括子目录)  
    # files 同样是 list, 内容是该文件夹中所有的文件(不包括子目录)  
    for root,dirs,files in os.walk(src_dir):  
        for file in files:  
            src_file = os.path.join(root, file)  
            shutil.copy(src_file, dst_dir)  
            print(src_file)  

print('Done!') 

序列化

  • json.dumps会变成unicode
代码语言:javascript
复制
json.dump(dic, ensure_ascii=False)
  • TypeError: a bytes-like object is required, not 'str'

存储数据的时候key若为单引号会报此错误

代码语言:javascript
复制
{"title": title, "avgScore": avgScore, "allCommentNum": allCommentNum, "address": address,"avgPrice": avgPrice}

计数器

文件移动

shutil

定时执行

想要定时执行脚本,而有不想安装太多依赖,可以使用shell的定时

代码语言:javascript
复制
# 查看定时任务
crontab -l
# 编辑定时任务
crontab -e
# 删除定时任务
crontab -r
# * * * * * 
minute hour day month week
# * 表示任意 - 范围(2-6 == 2,3,4,5,6) 
# , 取值(1,3,5,7) / (频率) 
5 8-23/1 * * * /home/myshell.sh  8到23点每隔一个小时的第五分钟

shell传递变量

代码语言:javascript
复制
#!/bin/bash
a=1
b=2
sudo python test.py $a $b

参考文档

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文件操作
  • 序列化
  • 计数器
  • 文件移动
  • 定时执行
  • 参考文档
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档