当前位置: 首页 » 开发技巧 » 20 个炫酷的 Python 一行代码

20 个炫酷的 Python 一行代码

使用 Ideogram 2.0 生成的 AI

你觉得自己在 Python 上很厉害?也许你已经征服了一些数据管道,自动化了一些工作流程,甚至构建了一些迷你 API。

如果我告诉你,仍然有未被挖掘的 Python 魔法,就像魔咒一样,只需要一行代码就能实现?

是的,一行代码。那些不仅能完成任务,还能让你在团队面前看起来像编码术士的简洁宝石。

让我们来看看。

1. 在目录中找到 5 个最大的文件(告别磁盘超载)

print(sorted((os.path.join(dp, f) for dp, _, fn in os.walk('/path/to/folder') for f in fn), key=os.path.getsize, reverse=True)[:5])

为什么酷: 不再需要在文件夹中点击来猜测“是什么占用了我的空间”。这将立即返回最大的 5 个文件。

2. 在几秒钟内从网页中提取所有 H1 标签

print([h.text for h in BeautifulSoup(requests.get('https://example.com').content, 'html.parser').find_all('h1')])

专业提示: 用于快速检查 SEO 团队是否搞砸了页面结构。

3. 像老板一样展开任何嵌套列表

print([item for sublist in [[1, 2], [3, 4, [5, 6]]] for item in (sublist if isinstance(sublist, list) else [sublist])])

嵌套列表在你职业生涯的前 10 分钟很有趣…之后呢?就没那么有趣了。

4. 从网页下载所有图片

[open(f'image_{i}.jpg', 'wb').write(requests.get(img['src']).content) for i, img in enumerate(BeautifulSoup(requests.get('https://example.com').content, 'html.parser').find_all('img'))]

为什么有用: 你的设计师需要素材。砰,你刚刚自动化了他们整个早晨。你现在是英雄了。

5. 计算对象在内存中的大小(了解哪些占用了内存)

print(sum(sys.getsizeof(obj) for obj in locals().values()))

“内存泄漏?从未听说过。”

6. 将 CSV 数据转换为字典列表(像专家一样)

print([dict(zip(line.split(','))) for line in open('data.csv')])

事实: 开发人员花费的时间解析 CSV 比任何人都多。

7. 轻松获取昨天的日期

print((datetime.date.today() - datetime.timedelta(days=1)).isoformat())

因为是的,那个功能需要昨天的日期。显而易见。

8. 一行代码发送 Slack 消息

requests.post('https://slack.com/api/chat.postMessage', json={'channel': '#general', 'text': 'Hello from Python!'}, headers={'Authorization': 'Bearer xoxb-your-slack-token'})

为什么重要: 现在你可以发送更新,同时展示你的自动化技能。

9. 从文件中提取所有电子邮件地址

print(re.findall(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', open('file.txt').read()))

在一秒内找到 100 多封电子邮件?IT 团队会认为你是个天才。

10. 获取文件中最常见的单词

print(Counter(open('file.txt').read().split()).most_common(1)[0])

为什么有用: 不再需要眼测单词计数。如果实习生再次滥用“协同作用”,你会立即知道。

11. 本地提供文件(无需设置)

python3 -m http.server 8080

当你可以立即在你的网络上提供文件时,谁还需要 Dropbox?

12. 检查端口是否打开

print('Open' if socket.socket().connect_ex(('127.0.0.1', 22)) == 0 else 'Closed')

专业提示: 用于解决“在我的机器上可以运行”的问题。你懂的。

13. 从任意文本创建二维码

qrcode.make('https://example.com').save('qr.png')

一旦知道你可以制作二维码,你会惊讶地发现自己会生成多少随机二维码。

14. 测量任何代码块的执行时间

print(time.time() - (lambda t: (t := time.time(), your_function())[1])(0))

为什么很棒: 性能瓶颈?问题解决。

15. 在终端创建进度条

[print(f'\rProgress: {i+1}/{100}', end='') for i in range(100)]

最终,让你的脚本看起来像在做一些重要的事情。

16. 将 JSON 转换为 Python 对象一行搞定

print(json.loads(open('data.json').read()))

专业提示: 这将避免你在 Postman 中无休止地复制粘贴。

17. 每天发送给自己一句激励的引语

requests.post('https://api.telegram.org/bot<your-bot-token>/sendMessage', data={'chat_id': '<your-chat-id>', 'text': requests.get('https://zenquotes.io/api/random').json()[0]['q']})

因为有些日子你只需要听到:“继续前进,冠军。”

18. 根据创建日期重命名文件夹中的所有文件

[os.rename(f, time.ctime(os.path.getctime(f)).replace(' ', '_') + os.path.splitext(f)[1]) for f in os.listdir('.')]

有序的文件夹是开发人员能找到的最接近内心平静的东西。

19. 检查你的互联网连接是否正常

print('Connected' if requests.get('https://google.com').status_code == 200 else 'Offline')

为什么重要: 避免当你意识到自己一直在调试离线服务器时的尴尬时刻。

20. 每 5 秒监视 CPU 使用率

[print(f'CPU: {psutil.cpu_percent()}%') for _ in range(12)]

有趣的事实: 30% 的程序员在第一次崩溃后开始检查 CPU 使用率。不要成为那个人。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

滚动至顶部