Site updated: 2020-01-19 12:07:37

This commit is contained in:
Jimmy Xiang
2020-01-19 12:07:38 +08:00
parent 9f0720b535
commit ffb5266311
48 changed files with 6662 additions and 0 deletions

1
CNAME Normal file
View File

@@ -0,0 +1 @@
flypython.com

127
archives/2018/01/index.html Normal file
View File

@@ -0,0 +1,127 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="active">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/about/" class="wrapper post-i-link" title="关于我们">
<div class="wrapper cover">
<img src="/images/flypython.png" alt="关于我们">
</div>
<h3 class="wrapper title" title="关于我们">关于我们</h3>
<p class="wrapper subtitle">
关于飞蟒Python
</p>
<div class="wrapper time">2018-01-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

127
archives/2018/index.html Normal file
View File

@@ -0,0 +1,127 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="active">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/about/" class="wrapper post-i-link" title="关于我们">
<div class="wrapper cover">
<img src="/images/flypython.png" alt="关于我们">
</div>
<h3 class="wrapper title" title="关于我们">关于我们</h3>
<p class="wrapper subtitle">
关于飞蟒Python
</p>
<div class="wrapper time">2018-01-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

179
archives/2019/01/index.html Normal file
View File

@@ -0,0 +1,179 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="active">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-oa-05/" class="wrapper post-i-link" title="Python读取PDF图片">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF图片">
</div>
<h3 class="wrapper title" title="Python读取PDF图片">Python读取PDF图片</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-05</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-04/" class="wrapper post-i-link" title="Python读取PDF文字和表格">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF文字和表格">
</div>
<h3 class="wrapper title" title="Python读取PDF文字和表格">Python读取PDF文字和表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-04</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-03/" class="wrapper post-i-link" title="Python批量转换任意文档格式">
<div class="wrapper cover">
<img src="/images/oa3.jpg" alt="Python批量转换任意文档格式">
</div>
<h3 class="wrapper title" title="Python批量转换任意文档格式">Python批量转换任意文档格式</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-02/" class="wrapper post-i-link" title="Python写入Word文档">
<div class="wrapper cover">
<img src="/images/oa2.jpg" alt="Python写入Word文档">
</div>
<h3 class="wrapper title" title="Python写入Word文档">Python写入Word文档</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-01/" class="wrapper post-i-link" title="Python写入Excel表格">
<div class="wrapper cover">
<img src="/images/oa1.jpg" alt="Python写入Excel表格">
</div>
<h3 class="wrapper title" title="Python写入Excel表格">Python写入Excel表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

153
archives/2019/02/index.html Normal file
View File

@@ -0,0 +1,153 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="active">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-tutorial-03/" class="wrapper post-i-link" title="Python正则15分钟入门">
<div class="wrapper cover">
<img src="/images/tutorial3.png" alt="Python正则15分钟入门">
</div>
<h3 class="wrapper title" title="Python正则15分钟入门">Python正则15分钟入门</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-02/" class="wrapper post-i-link" title="潘石屹我们为什么要学习Python语言">
<div class="wrapper cover">
<img src="/images/tutorial2.png" alt="潘石屹我们为什么要学习Python语言">
</div>
<h3 class="wrapper title" title="潘石屹我们为什么要学习Python语言">潘石屹我们为什么要学习Python语言</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-01/" class="wrapper post-i-link" title="你是如何自学Python的">
<div class="wrapper cover">
<img src="/images/tutorial1.png" alt="你是如何自学Python的">
</div>
<h3 class="wrapper title" title="你是如何自学Python的">你是如何自学Python的</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

127
archives/2019/03/index.html Normal file
View File

@@ -0,0 +1,127 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="active">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-nlp-01/" class="wrapper post-i-link" title="使用 Python 生成《红楼梦》词云">
<div class="wrapper cover">
<img src="/images/nlp1.png" alt="使用 Python 生成《红楼梦》词云">
</div>
<h3 class="wrapper title" title="使用 Python 生成《红楼梦》词云">使用 Python 生成《红楼梦》词云</h3>
<p class="wrapper subtitle">
Python自然语言处理教程
</p>
<div class="wrapper time">2019-03-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

140
archives/2019/04/index.html Normal file
View File

@@ -0,0 +1,140 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="active">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-new-02/" class="wrapper post-i-link" title="Python 3.8新特性——仅限位置形参">
<div class="wrapper cover">
<img src="/images/new-02.png" alt="Python 3.8新特性——仅限位置形参">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——仅限位置形参">Python 3.8新特性——仅限位置形参</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-new-01/" class="wrapper post-i-link" title="Python 3.8新特性——赋值表达式">
<div class="wrapper cover">
<img src="/images/new-01.png" alt="Python 3.8新特性——赋值表达式">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——赋值表达式">Python 3.8新特性——赋值表达式</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

257
archives/2019/index.html Normal file
View File

@@ -0,0 +1,257 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="active">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-new-02/" class="wrapper post-i-link" title="Python 3.8新特性——仅限位置形参">
<div class="wrapper cover">
<img src="/images/new-02.png" alt="Python 3.8新特性——仅限位置形参">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——仅限位置形参">Python 3.8新特性——仅限位置形参</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-new-01/" class="wrapper post-i-link" title="Python 3.8新特性——赋值表达式">
<div class="wrapper cover">
<img src="/images/new-01.png" alt="Python 3.8新特性——赋值表达式">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——赋值表达式">Python 3.8新特性——赋值表达式</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-nlp-01/" class="wrapper post-i-link" title="使用 Python 生成《红楼梦》词云">
<div class="wrapper cover">
<img src="/images/nlp1.png" alt="使用 Python 生成《红楼梦》词云">
</div>
<h3 class="wrapper title" title="使用 Python 生成《红楼梦》词云">使用 Python 生成《红楼梦》词云</h3>
<p class="wrapper subtitle">
Python自然语言处理教程
</p>
<div class="wrapper time">2019-03-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-03/" class="wrapper post-i-link" title="Python正则15分钟入门">
<div class="wrapper cover">
<img src="/images/tutorial3.png" alt="Python正则15分钟入门">
</div>
<h3 class="wrapper title" title="Python正则15分钟入门">Python正则15分钟入门</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-02/" class="wrapper post-i-link" title="潘石屹我们为什么要学习Python语言">
<div class="wrapper cover">
<img src="/images/tutorial2.png" alt="潘石屹我们为什么要学习Python语言">
</div>
<h3 class="wrapper title" title="潘石屹我们为什么要学习Python语言">潘石屹我们为什么要学习Python语言</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-01/" class="wrapper post-i-link" title="你是如何自学Python的">
<div class="wrapper cover">
<img src="/images/tutorial1.png" alt="你是如何自学Python的">
</div>
<h3 class="wrapper title" title="你是如何自学Python的">你是如何自学Python的</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-05/" class="wrapper post-i-link" title="Python读取PDF图片">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF图片">
</div>
<h3 class="wrapper title" title="Python读取PDF图片">Python读取PDF图片</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-05</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-04/" class="wrapper post-i-link" title="Python读取PDF文字和表格">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF文字和表格">
</div>
<h3 class="wrapper title" title="Python读取PDF文字和表格">Python读取PDF文字和表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-04</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-03/" class="wrapper post-i-link" title="Python批量转换任意文档格式">
<div class="wrapper cover">
<img src="/images/oa3.jpg" alt="Python批量转换任意文档格式">
</div>
<h3 class="wrapper title" title="Python批量转换任意文档格式">Python批量转换任意文档格式</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-02/" class="wrapper post-i-link" title="Python写入Word文档">
<div class="wrapper cover">
<img src="/images/oa2.jpg" alt="Python写入Word文档">
</div>
<h3 class="wrapper title" title="Python写入Word文档">Python写入Word文档</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-01/" class="wrapper post-i-link" title="Python写入Excel表格">
<div class="wrapper cover">
<img src="/images/oa1.jpg" alt="Python写入Excel表格">
</div>
<h3 class="wrapper title" title="Python写入Excel表格">Python写入Excel表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

270
archives/index.html Normal file
View File

@@ -0,0 +1,270 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="active">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-new-02/" class="wrapper post-i-link" title="Python 3.8新特性——仅限位置形参">
<div class="wrapper cover">
<img src="/images/new-02.png" alt="Python 3.8新特性——仅限位置形参">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——仅限位置形参">Python 3.8新特性——仅限位置形参</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-new-01/" class="wrapper post-i-link" title="Python 3.8新特性——赋值表达式">
<div class="wrapper cover">
<img src="/images/new-01.png" alt="Python 3.8新特性——赋值表达式">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——赋值表达式">Python 3.8新特性——赋值表达式</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-nlp-01/" class="wrapper post-i-link" title="使用 Python 生成《红楼梦》词云">
<div class="wrapper cover">
<img src="/images/nlp1.png" alt="使用 Python 生成《红楼梦》词云">
</div>
<h3 class="wrapper title" title="使用 Python 生成《红楼梦》词云">使用 Python 生成《红楼梦》词云</h3>
<p class="wrapper subtitle">
Python自然语言处理教程
</p>
<div class="wrapper time">2019-03-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-03/" class="wrapper post-i-link" title="Python正则15分钟入门">
<div class="wrapper cover">
<img src="/images/tutorial3.png" alt="Python正则15分钟入门">
</div>
<h3 class="wrapper title" title="Python正则15分钟入门">Python正则15分钟入门</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-02/" class="wrapper post-i-link" title="潘石屹我们为什么要学习Python语言">
<div class="wrapper cover">
<img src="/images/tutorial2.png" alt="潘石屹我们为什么要学习Python语言">
</div>
<h3 class="wrapper title" title="潘石屹我们为什么要学习Python语言">潘石屹我们为什么要学习Python语言</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-01/" class="wrapper post-i-link" title="你是如何自学Python的">
<div class="wrapper cover">
<img src="/images/tutorial1.png" alt="你是如何自学Python的">
</div>
<h3 class="wrapper title" title="你是如何自学Python的">你是如何自学Python的</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-05/" class="wrapper post-i-link" title="Python读取PDF图片">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF图片">
</div>
<h3 class="wrapper title" title="Python读取PDF图片">Python读取PDF图片</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-05</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-04/" class="wrapper post-i-link" title="Python读取PDF文字和表格">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF文字和表格">
</div>
<h3 class="wrapper title" title="Python读取PDF文字和表格">Python读取PDF文字和表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-04</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-03/" class="wrapper post-i-link" title="Python批量转换任意文档格式">
<div class="wrapper cover">
<img src="/images/oa3.jpg" alt="Python批量转换任意文档格式">
</div>
<h3 class="wrapper title" title="Python批量转换任意文档格式">Python批量转换任意文档格式</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-02/" class="wrapper post-i-link" title="Python写入Word文档">
<div class="wrapper cover">
<img src="/images/oa2.jpg" alt="Python写入Word文档">
</div>
<h3 class="wrapper title" title="Python写入Word文档">Python写入Word文档</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-01/" class="wrapper post-i-link" title="Python写入Excel表格">
<div class="wrapper cover">
<img src="/images/oa1.jpg" alt="Python写入Excel表格">
</div>
<h3 class="wrapper title" title="Python写入Excel表格">Python写入Excel表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/about/" class="wrapper post-i-link" title="关于我们">
<div class="wrapper cover">
<img src="/images/flypython.png" alt="关于我们">
</div>
<h3 class="wrapper title" title="关于我们">关于我们</h3>
<p class="wrapper subtitle">
关于飞蟒Python
</p>
<div class="wrapper time">2018-01-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

141
article/about/index.html Normal file
View File

@@ -0,0 +1,141 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="关于我们,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="关于我们 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/about/">
<meta property="og:image" content="http://www.flypython.com/images/flypython.png">
<meta property="og:description" content="关于我们--关于飞蟒Python">
<meta name="description" content="关于我们--关于飞蟒Python">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>关于我们 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">关于我们</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2018-01-01</span> | <span>Category</span><span><a href="/fly/Python入门/" title="Python入门">Python入门</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<h2 id="关于我们"><a href="#关于我们" class="headerlink" title="关于我们"></a>关于我们</h2><p><a href="http://flypython.com" target="_blank" rel="noopener">http://flypython.com</a></p>
<h4 id="关于FlyPython"><a href="#关于FlyPython" class="headerlink" title="关于FlyPython"></a>关于FlyPython</h4><p>FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区。</p>
<h4 id="联系我们"><a href="#联系我们" class="headerlink" title="联系我们"></a>联系我们</h4><p>客服&amp;合作: 微信号 flypython</p>
<h4 id="公众号二维码"><a href="#公众号二维码" class="headerlink" title="公众号二维码"></a>公众号二维码</h4><p>FlyPython<br><img src="https://tva1.sinaimg.cn/large/006tNbRwly1gb1q8emoktj309k09k749.jpg" alt></p>
<p>FlyPython训练营<br><img src="https://tva1.sinaimg.cn/large/006tNbRwly1gai7aeyheij3076076dgb.jpg" alt></p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,188 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python 3.8新特性——赋值表达式,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python 3.8新特性——赋值表达式 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-new-01/">
<meta property="og:image" content="http://www.flypython.com/images/new-01.png">
<meta property="og:description" content="Python 3.8新特性——赋值表达式--介绍Python语言新的特性">
<meta name="description" content="Python 3.8新特性——赋值表达式--介绍Python语言新的特性">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python 3.8新特性——赋值表达式 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">Python 3.8新特性——赋值表达式</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-04-01</span> | <span>Category</span><span><a href="/fly/Python新特性/" title="Python新特性">Python新特性</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<p>上周Python3.8版本发布,到底带来了哪些新的特性呢?我们应该在哪些场景中使用这些特性呢?本周,我们通过几篇文章来告诉你答案。</p>
<p><img src="https://tva1.sinaimg.cn/large/006tNbRwly1gai72bypmej30u00u9wl1.jpg" alt></p>
<h4 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h4><p>首先我们并不推荐安装最新版本到常用的开发环境中你可以使用虚拟环境或者docker来尝鲜。</p>
<p>官方安装包</p>
<p>网址:<code>https://www.python.org/downloads/release/python-380/</code></p>
<p>也可以使用docker</p>
<p>拉取镜像命令<br><code>docker pull python:3.8</code></p>
<h2 id="赋值表达式"><a href="#赋值表达式" class="headerlink" title="赋值表达式"></a>赋值表达式</h2><p><img src="https://tva1.sinaimg.cn/large/006tNbRwly1gai72nu5otj30jg0atdfq.jpg" alt></p>
<p>赋值表达式被叫做海象运算符因为它的形状像海象。如果熟悉go语言的话会对这个表达式会熟悉。</p>
<p>赋值表达式的语法是 </p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">name := expression</span><br></pre></td></tr></table></figure>
<p>和赋值语句 <code>=</code> 作用差不多,非必不可少,但可以简化代码。</p>
<h4 id="官方示例"><a href="#官方示例" class="headerlink" title="官方示例"></a>官方示例</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">&gt;&gt;&gt; a = False</span><br><span class="line">&gt;&gt;&gt; print(a)</span><br><span class="line">False</span><br><span class="line">&gt;&gt;&gt; print(a := True)</span><br><span class="line">True</span><br></pre></td></tr></table></figure>
<p>此例子赋值之后,后续还需要使用变量。赋值表达可用于简化代码,提高可读性。</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line">&gt;&gt;&gt; inputs = list()</span><br><span class="line">&gt;&gt;&gt; while True:</span><br><span class="line">... current = input(&quot;your input:&quot;)</span><br><span class="line">... if current == &quot;quit&quot;:</span><br><span class="line">... break</span><br><span class="line">... inputs.append(current)</span><br><span class="line">...</span><br><span class="line">your input:a</span><br><span class="line">your input:b</span><br><span class="line">your input:test</span><br><span class="line">your input:quit</span><br><span class="line">&gt;&gt;&gt; inputs</span><br><span class="line">[&apos;a&apos;, &apos;b&apos;, &apos;test&apos;]</span><br></pre></td></tr></table></figure>
<p>使用赋值操作符时:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line">&gt;&gt;&gt; inputs = list()</span><br><span class="line">&gt;&gt;&gt; while (current := input(&quot;your input:&quot;)) != &quot;quit&quot;:</span><br><span class="line">... inputs.append(current)</span><br><span class="line">...</span><br><span class="line">your input:a</span><br><span class="line">your input:b</span><br><span class="line">your input:test</span><br><span class="line">your input:quit</span><br><span class="line">&gt;&gt;&gt; inputs</span><br><span class="line">[&apos;a&apos;, &apos;b&apos;, &apos;test&apos;]</span><br></pre></td></tr></table></figure>
<p>此例子,省略了一条语句,可读性上升。</p>
<p>再来一个例子</p>
<p>最初版本</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">a = [1,2,3,4]</span><br><span class="line">if len(a) &gt; 3: #计算 len(a) 一次 </span><br><span class="line"> print(f&quot;a is too long (&#123;len(a)&#125; elements,expected &lt; 3)&quot;) # 计算 len(a) 第二次</span><br></pre></td></tr></table></figure>
<p>我们改写为:</p>
<p>改进版本</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">a = [1,2,3,4]</span><br><span class="line">n = len(a) # 计算一次len(a)</span><br><span class="line">if n &gt; 3: # 多了变量n</span><br><span class="line"> print(f&quot;a is too long (&#123;n&#125; elements,expected &lt; 3)&quot;) #</span><br></pre></td></tr></table></figure>
<p>新特性重写:<br>重写版本</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">a = [1,2,3,4]</span><br><span class="line">if (n:=len(a)) &gt; 3: # 计算一次len(a)多了变量n把两行改为一行</span><br><span class="line"> print(f&quot;a is too long (&#123;n&#125; elements,expected &lt; 3)&quot;) #</span><br></pre></td></tr></table></figure>
<p>从上面可以看到,重写版本和改进版本的不同在于:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">n = len(a) </span><br><span class="line">if n &gt; 3:</span><br><span class="line"> pass</span><br></pre></td></tr></table></figure>
<p></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">if (n:=len(a)) &gt; 3:</span><br><span class="line"> pass</span><br></pre></td></tr></table></figure>
<p>这两个版本的区别在于,<code>:=</code><code>=</code>是补充关系并不是替换关系,下面的例子可以看到官方的意图。</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">x = 5</span><br><span class="line">print(f&quot;x = &#123;x&#125;&quot;)</span><br><span class="line"></span><br><span class="line">#能用=解决的就用=解决</span><br><span class="line">y := 5 # SyntaxError: invalid syntax</span><br><span class="line">print(f&quot;y = &#123;y&#125;&quot;)</span><br><span class="line"></span><br><span class="line">(z := 5)</span><br><span class="line">print(f&quot;z = &#123;z&#125;&quot;)</span><br></pre></td></tr></table></figure>
<p>由上面可以看出<code>:=</code><code>=</code>是互补关系,在应该使用<code>:=</code>的时候才可以使用<code>:=</code></p>
<p>Python语言的一致性不管是专家还是新手在同一个问题上都应该有一致的写法然后这就形成了最pythonic的写法。</p>
<p>最后带来,新特性带来的最佳实践</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"># 简化 os.fork </span><br><span class="line">if pid := os.fork():</span><br><span class="line"> # Parent code</span><br><span class="line">else:</span><br><span class="line"> # Child code</span><br><span class="line"></span><br><span class="line"># 直接到把 socket 对象的 read buffer 读完为止</span><br><span class="line">while data := sock.recv(8192):</span><br><span class="line"> print(&quot;Received data:&quot;, data)</span><br></pre></td></tr></table></figure>
<h4 id="参考"><a href="#参考" class="headerlink" title="参考"></a>参考</h4><ul>
<li><a href="https://docs.python.org/zh-cn/3.8/whatsnew/3.8.html" target="_blank" rel="noopener">https://docs.python.org/zh-cn/3.8/whatsnew/3.8.html</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0572" target="_blank" rel="noopener">https://www.python.org/dev/peps/pep-0572</a></li>
</ul>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,165 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python 3.8新特性——仅限位置形参,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python 3.8新特性——仅限位置形参 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-new-02/">
<meta property="og:image" content="http://www.flypython.com/images/new-02.png">
<meta property="og:description" content="Python 3.8新特性——仅限位置形参--介绍Python语言新的特性">
<meta name="description" content="Python 3.8新特性——仅限位置形参--介绍Python语言新的特性">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python 3.8新特性——仅限位置形参 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">Python 3.8新特性——仅限位置形参</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-04-02</span> | <span>Category</span><span><a href="/fly/Python新特性/" title="Python新特性">Python新特性</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<h2 id="仅限位置形参"><a href="#仅限位置形参" class="headerlink" title="仅限位置形参"></a>仅限位置形参</h2><p>Positional-only parameters官方翻译为仅限位置形参也可以理解为只接受位置参数。意思就是它只是一个位置参数不接受关键字传参。</p>
<p>语法: </p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">def funx(a,b,/): # / 指明前面的a,b参数是仅限位置形参</span><br><span class="line"> pass</span><br></pre></td></tr></table></figure>
<p>函数形参语法<code>/</code> 用来指明某些函数形参必须使用仅限位置而非关键字参数</p>
<p>其实Python内置的很多C函数接口都是这种形式比如</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">&gt;&gt;&gt; import builtins</span><br><span class="line">&gt;&gt;&gt; help(__builtins__.divmod)</span><br><span class="line">Help on built-in function divmod in module builtins:</span><br><span class="line"></span><br><span class="line">divmod(x, y, /)</span><br><span class="line"> Return the tuple (x//y, x%y). Invariant: div*y + mod == x.</span><br></pre></td></tr></table></figure>
<p>很多函数后面都有 <code>/</code>来表明,左边的这些参数只接受位置参数。</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">&gt;&gt;&gt; divmod(1,2)</span><br><span class="line">(0, 1)</span><br><span class="line">&gt;&gt;&gt; divmod(x=1,y=2) </span><br><span class="line">Traceback (most recent call last):</span><br><span class="line"> File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;</span><br><span class="line">TypeError: divmod() takes no keyword arguments</span><br><span class="line">&gt;&gt;&gt;</span><br></pre></td></tr></table></figure>
<p>指定关键字的参数会报语法错误,它的用途就是强制使用者用位置参数来传参。</p>
<h4 id="官方例子"><a href="#官方例子" class="headerlink" title="官方例子"></a>官方例子</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">&gt;&gt;&gt; def f(a,b,/,**kwargs):</span><br><span class="line">... print(a,b,kwargs)</span><br><span class="line">...</span><br><span class="line">&gt;&gt;&gt; f(10,20,a=1,b=2,c=3)</span><br><span class="line">10 20 &#123;&apos;a&apos;: 1, &apos;b&apos;: 2, &apos;c&apos;: 3&#125;</span><br></pre></td></tr></table></figure>
<p>由于在 <code>/</code> 左侧的形参不会被公开为可用关键字</p>
<p>这里的a,b 为仅限位置参数最后a,b会被赋值了两次。<br>位置参数赋值一次关键字参数赋值一次关键字参数以kwargs字典的形式存在需要通过 <code>kwargs[&#39;a&#39;],kwargs[&#39;b&#39;]</code>访问。</p>
<p>现在我们来看一下,添加了仅限位置形参之后的函数参数形式</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">def name(positional_only_parameters, /, positional_or_keyword_parameters,</span><br><span class="line"> *, keyword_only_parameters):</span><br></pre></td></tr></table></figure>
<p>包括了仅限位置形参, <code>/</code>, 位置形参或者关键字参数 ,<code>*</code>,仅限关键字参数。</p>
<p><img src="https://tva1.sinaimg.cn/large/006tNbRwly1gai73g9r3ej30so09mq3k.jpg" alt></p>
<p>最后,我们可以定义以下形式的函数</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">def name(p1, p2, /, p_or_kw, *, kw):</span><br><span class="line">def name(p1, p2=None, /, p_or_kw=None, *, kw):</span><br><span class="line">def name(p1, p2=None, /, *, kw):</span><br><span class="line">def name(p1, p2=None, /):</span><br><span class="line">def name(p1, p2, /, p_or_kw):</span><br><span class="line">def name(p1, p2, /):</span><br></pre></td></tr></table></figure>
<h4 id="参考"><a href="#参考" class="headerlink" title="参考"></a>参考</h4><ul>
<li><a href="https://docs.python.org/zh-cn/3.8/whatsnew/3.8.html" target="_blank" rel="noopener">https://docs.python.org/zh-cn/3.8/whatsnew/3.8.html</a></li>
<li><a href="https://docs.python.org/zh-cn/3/howto/clinic.html" target="_blank" rel="noopener">https://docs.python.org/zh-cn/3/howto/clinic.html</a></li>
<li><a href="https://www.python.org/dev/peps/pep-0570" target="_blank" rel="noopener">https://www.python.org/dev/peps/pep-0570</a></li>
</ul>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,157 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="使用 Python 生成《红楼梦》词云,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="使用 Python 生成《红楼梦》词云 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-nlp-01/">
<meta property="og:image" content="http://www.flypython.com/images/nlp1.png">
<meta property="og:description" content="使用 Python 生成《红楼梦》词云--Python自然语言处理教程">
<meta name="description" content="使用 Python 生成《红楼梦》词云--Python自然语言处理教程">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>使用 Python 生成《红楼梦》词云 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">使用 Python 生成《红楼梦》词云</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-03-01</span> | <span>Category</span><span><a href="/fly/自然语言处理/" title="自然语言处理">自然语言处理</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<p>使用 Python 生成《红楼梦》词云</p>
<p><img src="http://jcjview.github.io/img/1210058744_15500375990201n.jpg" alt></p>
<p>本文介绍如何使用python绘制《红楼梦》的词云。</p>
<blockquote>
<p>“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨。<br><a href="http://media.people.com.cn/GB/22100/61748/61749/4281906.html" target="_blank" rel="noopener">“词云”——网络内容发布新招式 .人民网</a></p>
</blockquote>
<h2 id="0-摘要"><a href="#0-摘要" class="headerlink" title="0.摘要"></a>0.摘要</h2><p><strong>本文建议在电脑上打开,边阅读边操作。</strong></p>
<ol>
<li>安装python词云工具wordcloud画图软件matplotlib</li>
<li>准备红楼梦文本</li>
<li>编写python代码并运行</li>
<li>展示词云结果</li>
</ol>
<h2 id="1-安装wordcloud"><a href="#1-安装wordcloud" class="headerlink" title="1.安装wordcloud"></a>1.安装wordcloud</h2><p>可以在cmd窗口输入<figure class="highlight plain"><figcaption><span>install wordcloud matplotlib```</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">![](http://jcjview.github.io/img/wordcloud001.png)</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">## 2.准备红楼梦文本</span><br><span class="line"></span><br><span class="line">文本可以用下面链接下载</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">`https://github.com/flypythoncom/flypython/blob/master/wordcloud_hlm_seg.txt`</span><br><span class="line"></span><br><span class="line">或者可以自己写代码,对文本进行清洗,分词。</span><br><span class="line">这里需要安装jieba分词`pip install jieba`</span><br><span class="line">``` python</span><br><span class="line">import jieba</span><br><span class="line">import re</span><br><span class="line"></span><br><span class="line">special_character_removal = re.compile(r&apos;[,。、【 】“”:;()《》‘’&#123;&#125;?!⑦%&gt;℃.^-——=&amp;#@¥『』]&apos;, re.IGNORECASE)</span><br><span class="line"></span><br><span class="line">fw=open(&quot;hlm_seg.txt&quot;,&quot;w&quot;,encoding=&quot;utf-8&quot;)</span><br><span class="line"></span><br><span class="line">with open(&apos;hlm.txt&apos;,encoding=&quot;utf-8&quot;) as fp:</span><br><span class="line"> for line in fp:</span><br><span class="line"> l = special_character_removal.sub(&apos;&apos;, line.strip())</span><br><span class="line"> words=jieba.cut(l)</span><br><span class="line"> t=&quot; &quot;.join(words)</span><br><span class="line"> fw.write(t)</span><br><span class="line"> fw.write(&quot;\n&quot;)</span><br><span class="line"> </span><br><span class="line">fw.close()</span><br></pre></td></tr></table></figure></p>
<h2 id="3-编写词云python代码并运行"><a href="#3-编写词云python代码并运行" class="headerlink" title="3. 编写词云python代码并运行"></a>3. 编写词云python代码并运行</h2><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> os <span class="keyword">import</span> path </span><br><span class="line"><span class="keyword">from</span> wordcloud <span class="keyword">import</span> WordCloud</span><br><span class="line"></span><br><span class="line">d = path.dirname(__file__) </span><br><span class="line"><span class="comment"># Read the whole text. </span></span><br><span class="line">text = open(path.join(d, <span class="string">'hlm_seg.txt'</span>),encoding=<span class="string">"utf-8"</span>).read() </span><br><span class="line"><span class="comment"># Generate a word cloud image </span></span><br><span class="line"><span class="comment"># font=path.join(d, "simkai.ttf") </span></span><br><span class="line">font=<span class="string">'C:/Windows/Fonts/simkai.ttf'</span> </span><br><span class="line">wordcloud = WordCloud(font_path=font,<span class="comment">#设置中文字体,不指定就会出现中文不显示 </span></span><br><span class="line"> width=<span class="number">1024</span>,<span class="comment">#宽 </span></span><br><span class="line"> height=<span class="number">840</span>,<span class="comment">#高 </span></span><br><span class="line"> background_color=<span class="string">'white'</span>,<span class="comment">#设置背景色 </span></span><br><span class="line"> <span class="comment"># max_words=100,#最大词汇数 </span></span><br><span class="line"> <span class="comment"># max_font_size=100#最大号字体 </span></span><br><span class="line"> ).generate(text) </span><br><span class="line"> </span><br><span class="line"><span class="comment"># Display the generated image: </span></span><br><span class="line"><span class="comment"># the matplotlib way: </span></span><br><span class="line"><span class="keyword">import</span> matplotlib.pyplot <span class="keyword">as</span> plt </span><br><span class="line"> </span><br><span class="line">plt.figure() </span><br><span class="line">plt.imshow(wordcloud) </span><br><span class="line">plt.axis(<span class="string">"off"</span>) </span><br><span class="line">plt.show()</span><br></pre></td></tr></table></figure>
<p>结果:</p>
<p><img src="http://jcjview.github.io/img/Figure_1.png" alt="词云运行结果"></p>
<p>后台回复“词云”获得完整运行代码</p>
<p><em>人生苦短我用python早下班。如果觉得不错对你工作中有帮助请加我微信公众号flypython我们一起探讨python相关问题</em></p>
<p> <img src="https://flypython.com/images/wechat.png" alt="flypython微信公众号"></p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,174 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python写入Excel表格,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python写入Excel表格 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-oa-01/">
<meta property="og:image" content="http://www.flypython.com/images/oa1.jpg">
<meta property="og:description" content="Python写入Excel表格--极简Python自动化办公系列">
<meta name="description" content="Python写入Excel表格--极简Python自动化办公系列">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python写入Excel表格 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">Python写入Excel表格</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-01-01</span> | <span>Category</span><span><a href="/fly/自动化办公/" title="自动化办公">自动化办公</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<h1 id="【极简Python-自动化办公】Python写入Excel表格"><a href="#【极简Python-自动化办公】Python写入Excel表格" class="headerlink" title="【极简Python 自动化办公】Python写入Excel表格"></a>【极简Python 自动化办公】Python写入Excel表格</h1><blockquote>
<p>【极简Python 自动化办公】专栏是介绍如何利用python办公减少工作负荷。篇幅精炼内容易懂无论是否有编程基础都非常适合。</p>
</blockquote>
<p>在上次文章中我们学习了【用python读取excel】这次我们继续学习Python写excel吧</p>
<p><img src="http://jcjview.github.io/img/flypythonpython-excel-tutorial.jpg" alt></p>
<h2 id="0-摘要"><a href="#0-摘要" class="headerlink" title="0.摘要"></a>0.摘要</h2><p><strong>本文大约需要15分钟建议在电脑上打开边阅读边操作。</strong></p>
<ol>
<li>安装Python读excel模块——xlwt</li>
<li>准备写入表格内容</li>
<li>编写python代码并运行</li>
<li>使用for循环语句读取并写入excel表格</li>
</ol>
<h2 id="1-安装xlwt"><a href="#1-安装xlwt" class="headerlink" title="1.安装xlwt"></a>1.安装xlwt</h2><p>与上篇文章类似需要在cmd窗口输入<figure class="highlight plain"><figcaption><span>install xlwt```。</span></figcaption><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line">![](http://jcjview.github.io/img/flypythonpythonexcelw2.png)</span><br><span class="line"></span><br><span class="line">## 2.准备写入表格内容</span><br><span class="line"></span><br><span class="line">这步很简单,只要想好输入内容即可,这里设计了一个简单的表格内容作为写入内容(目前这个内容还不存在)。</span><br><span class="line"></span><br><span class="line">| 序号  | 学号 |年龄 |</span><br><span class="line">| --- | --- |--- |</span><br><span class="line">| 张三 | 20190901 |11|</span><br><span class="line">| 李四 |20190902|12 |</span><br><span class="line">| 小明 | 20190903 |13 |</span><br><span class="line"></span><br><span class="line">## 3.编写python代码并运行</span><br><span class="line"></span><br><span class="line">新建一个writeexcel.py文件用记事本或其他文本编辑工具打开。</span><br><span class="line"></span><br><span class="line">本次写入excel的思路是新建文件-&gt;指定行列-&gt;写入内容。</span><br><span class="line"></span><br><span class="line">在文本编辑工具中输入如下代码,保存并关闭。</span><br></pre></td></tr></table></figure></p>
<p>import xlwt</p>
<p>f = xlwt.Workbook()<br>sheet1 = f.add_sheet(sheet1,cell_overwrite_ok=True)<br>column = [“姓名”,”学号”,”年龄”]<br>name = [“张三”,”李四”,”小明”]</p>
<p>school_code = [20190901,20190902,20190903]</p>
<p>age = [11,12,13]</p>
<p>sheet1.write(0,0,column[0])#第1行第1列<br>sheet1.write(0,1,column[1])#第3行第3列<br>sheet1.write(0,2,column[2])#第2行第2列</p>
<p>sheet1.write(1,0,name[0])#第2行第1列<br>sheet1.write(1,1,school_code[0])#第2行第1列<br>sheet1.write(1,2,age[0])#第3行第1列</p>
<p>sheet1.write(2,0,name[1])<br>sheet1.write(2,1,school_code[1])<br>sheet1.write(2,2,age[1])</p>
<p>sheet1.write(3,0,name[2])<br>sheet1.write(3,1,school_code[2])<br>sheet1.write(3,2,age[2])</p>
<p>f.save(test1.xls)</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">还是一样注意每句的开头不可以有空格因为python用*缩进*来表示编程的层次,缩进不同就会报错了。</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">在保存writeexcel.py的位置上打开cmd运行 python writeexcel.py</span><br><span class="line">可以看到结果:</span><br><span class="line">![](http://jcjview.github.io/img/flypythonpythonexcelw4.png)</span><br><span class="line">![](http://jcjview.github.io/img/flypythonpythonexcelw5.png)</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">## 4.使用for循环语句读取并写入excel表格</span><br><span class="line"></span><br><span class="line">非常好您已经学会了如何读取和写入excel表格。</span><br><span class="line"></span><br><span class="line">但是我们只能一个一个单元格读取和写入数据这比手工操作excel表格快不了多少。</span><br><span class="line"></span><br><span class="line">接下来我们需要学习使用for循环来批量读取一个excel表格并循环写入另一个excel表格中。</span><br><span class="line"></span><br><span class="line">不要删除test1.xls在test1.xls文件的位置新建一个rwexcel.py文件将下面代码输入到文件中</span><br></pre></td></tr></table></figure>
<p>import xlrd<br>import xlwt</p>
<p>wb = xlrd.open_workbook(“test1.xls”)#打开文件<br>sheet1 = wb.sheet_by_index(0)#获取第一个表格</p>
<p>column = []#列名</p>
<p>data=[]</p>
<p>#获取列名<br>column.append(sheet1.cell(0,0).value)#姓名<br>column.append(sheet1.cell(0,1).value)#学号<br>column.append(sheet1.cell(0,2).value)#年龄</p>
<p>for i in range(1,sheet1.nrows):#sheet1.nrows 行数<br> coldata=[]<br> coldata.append(sheet1.cell(i, 0).value)#姓名<br> coldata.append(int(sheet1.cell_value(i, 1)))#学号<br> coldata.append(sheet1.cell(i, 2).value)#年龄<br> data.append(coldata)</p>
<p>f = xlwt.Workbook()<br>sheetw = f.add_sheet(sheet1,cell_overwrite_ok=True)</p>
<p>sheetw.write(0,0,column[0])#姓名<br>sheetw.write(0,2,column[2])#学号<br>sheetw.write(0,1,column[1])#年龄</p>
<p>for i in range(len(data)):<br> d=data[i]<br> sheetw.write(i+1, 0, d[0]) # 第2行第1列<br> sheetw.write(i+1, 1, d[1]) # 第2行第1列<br> sheetw.write(i+1, 2, d[2]) # 第3行第1列</p>
<p>f.save(test2.xls)</p>
<p>```</p>
<p>运行后会生成一个test2.xls与test1.xls一模一样。</p>
<p><em>人生苦短我用python早下班。如果觉得不错对你工作中有帮助请加我微信公众号flypython我们一起探讨python相关问题</em></p>
<p> <img src="https://flypython.com/images/wechat.png" alt="flypython微信公众号"></p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,229 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python写入Word文档,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python写入Word文档 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-oa-02/">
<meta property="og:image" content="http://www.flypython.com/images/oa2.jpg">
<meta property="og:description" content="Python写入Word文档--极简Python自动化办公系列">
<meta name="description" content="Python写入Word文档--极简Python自动化办公系列">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python写入Word文档 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">Python写入Word文档</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-01-02</span> | <span>Category</span><span><a href="/fly/自动化办公/" title="自动化办公">自动化办公</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<blockquote>
<p>【极简Python 自动化办公】专栏是介绍如何利用python办公减少工作负荷。篇幅精炼内容易懂无论是否有编程基础都非常适合。</p>
</blockquote>
<p>在上次文章中我们学习了【用python写入excel】这次我们学习Python写word文档吧</p>
<p>场景:<br>有时候,办公室需要按模版生成的固定的文件,模板是固定的,只是每次需要替换信息。如下图的收入证明,模版中所有标黄的都是需要替换的信息:<br><img src="http://jcjview.github.io/img/pythonword_model0.png" alt><br>如果手工来做这个事情每次至少需要10分钟的时间。假如每天要开15份则至少要花2个半小时而且手工编辑word很容易出错。</p>
<p>可不可用python写个程序解决这个问题呢</p>
<p>结论当然是肯定的!</p>
<h2 id="0-摘要"><a href="#0-摘要" class="headerlink" title="0.摘要"></a>0.摘要</h2><p><strong>本文大约需要15分钟建议在电脑上打开边阅读边操作。</strong></p>
<ol>
<li>安装Python读写word模块python-docx</li>
<li>准备word模板准备写入word文档内容</li>
<li>编写python代码并运行</li>
<li>通过读取excel表格中的信息批量生成word文件</li>
</ol>
<h2 id="1-安装python-docx模块"><a href="#1-安装python-docx模块" class="headerlink" title="1.安装python-docx模块"></a>1.安装python-docx模块</h2><p>与上篇文章类似需要在cmd窗口输入<code>pip install python-docx</code><br><img src="http://jcjview.github.io/img/flypython_python_docx_pip.png" alt></p>
<h2 id="2-准备word模板准备写入word文档内容"><a href="#2-准备word模板准备写入word文档内容" class="headerlink" title="2.准备word模板准备写入word文档内容"></a>2.准备word模板准备写入word文档内容</h2><p>word模板如上所示可以不需要标黄这里注意需要替换的文字或数字位置用”XXXX”来固定替代。保存为<code>个人收入证明.docx</code></p>
<table>
<thead>
<tr>
<th>名称</th>
<th>内容</th>
</tr>
</thead>
<tbody><tr>
<td>姓名</td>
<td>张三</td>
</tr>
<tr>
<td>身份证号</td>
<td>104111199009103531</td>
</tr>
<tr>
<td>职务</td>
<td>工程师</td>
</tr>
<tr>
<td>工作年限</td>
<td>10</td>
</tr>
<tr>
<td>月收入</td>
<td>10000</td>
</tr>
<tr>
<td>大写</td>
<td>壹万元整</td>
</tr>
<tr>
<td>联系人</td>
<td>李四</td>
</tr>
<tr>
<td>单位名称</td>
<td>格物致知股份有限公司</td>
</tr>
<tr>
<td>单位地址</td>
<td>珠海市横琴新区宝华路6号105室-67425</td>
</tr>
<tr>
<td>联系电话</td>
<td>0756-8627528</td>
</tr>
</tbody></table>
<h2 id="3-编写python代码并运行"><a href="#3-编写python代码并运行" class="headerlink" title="3. 编写python代码并运行"></a>3. 编写python代码并运行</h2><p>在word模板的同级目录新建一个writeword.py文件用记事本或其他文本编辑工具打开。</p>
<p>编程思路:</p>
<ol>
<li>用python打开对应doc模板</li>
<li>按顺序找到每一个需要替换的位置字符”XXXX”替换为对应的内容</li>
<li>另存为doc为另一个文件</li>
</ol>
<p>在文本编辑工具中输入如下代码,保存并关闭。</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><span class="line">from docx import Document</span><br><span class="line">#准备写入内容</span><br><span class="line">name=&quot;张三&quot;</span><br><span class="line">id_code=&quot;104111199009103531&quot;</span><br><span class="line">career=&quot;工程师&quot;</span><br><span class="line">working_years=&quot;10&quot;</span><br><span class="line">salary=&quot;10000&quot;</span><br><span class="line">salary_uppercase=&quot;壹万元整&quot;</span><br><span class="line">contact=&quot;李四&quot;</span><br><span class="line">company=&quot;格物厚德股份有限公司&quot;</span><br><span class="line">address=&quot;珠海市横琴新区宝华路6号105室-67425&quot;</span><br><span class="line">tel=&quot;0756-8627528&quot;</span><br><span class="line">#打开doc</span><br><span class="line"></span><br><span class="line">textlist=[name,id_code,career,working_years,salary,salary_uppercase,company,address,contact,tel]</span><br><span class="line"></span><br><span class="line">doc = Document(&quot;个人收入证明.docx&quot;)</span><br><span class="line"></span><br><span class="line">count=0</span><br><span class="line"></span><br><span class="line">for p in doc.paragraphs:</span><br><span class="line">        if &apos;XXXX&apos; in p.text:</span><br><span class="line">            inline = p.runs</span><br><span class="line">            for i in range(len(inline)):</span><br><span class="line">                if &apos;XXXX&apos; in inline[i].text:</span><br><span class="line">                    text = inline[i].text.replace(&apos;XXXX&apos;, textlist[count])</span><br><span class="line">                    inline[i].text = text</span><br><span class="line">                    count+=1</span><br><span class="line">                    print(count)</span><br><span class="line">doc.save(&quot;%s_个人收入证明.docx&quot;%name)</span><br></pre></td></tr></table></figure>
<p>在同级目录打开cmd运行writeword.py <code>python writeword.py</code></p>
<p>生成结果如下:<br><code>张三_个人收入证明.docx</code><br><img src="http://jcjview.github.io/img/pythonword2.png" alt></p>
<h2 id="4-通过读取excel表格中的信息批量生成word文件"><a href="#4-通过读取excel表格中的信息批量生成word文件" class="headerlink" title="4.通过读取excel表格中的信息批量生成word文件"></a>4.通过读取excel表格中的信息批量生成word文件</h2><p>这里生成了对应word文件但也有几个问题</p>
<ol>
<li>对应的日期并没有自动填写,应当填写文件生成时对应的日期</li>
<li>如果是生成大量同样word文档的话目前的程序也需要一个一个改并没有提升太多效率</li>
</ol>
<p>如果您看过我们之前的2篇用python读写excel的文章您肯定就会想到可以利用读取excel表格里的内容批量生成对应的word文档。对让我们继续吧</p>
<p>这里再准备一个excel文件将需要批量写入的信息写在excel中并保存为income.xlsx在同级目录如下图</p>
<p><img src="http://jcjview.github.io/img/pythonword23.png" alt></p>
<p>修改python 文件writeword.py</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br></pre></td><td class="code"><pre><span class="line">from docx import Document</span><br><span class="line">#准备写入内容</span><br><span class="line">import xlrd</span><br><span class="line">import time</span><br><span class="line"># 当前时间元组</span><br><span class="line">from datetime import datetime</span><br><span class="line">nt=datetime.now()</span><br><span class="line"># 可以输入中文年月日</span><br><span class="line">datestr=nt.strftime(&apos;%Y&#123;y&#125;%m&#123;m&#125;%d&#123;d&#125;&apos;).format(y=&apos;&apos;, m=&apos;&apos;, d=&apos;&apos;)</span><br><span class="line"></span><br><span class="line">xlsx=xlrd.open_workbook(&apos;income.xlsx&apos;)</span><br><span class="line">sheet=xlsx.sheet_by_index(0)</span><br><span class="line">for row in range(1,sheet.nrows):</span><br><span class="line">    doc = Document(&quot;个人收入证明.docx&quot;)</span><br><span class="line">    count=0</span><br><span class="line">    textlist=[]</span><br><span class="line">    for col in range(0,sheet.ncols):</span><br><span class="line">        textlist.append(str(sheet.cell_value(row, col)))</span><br><span class="line"></span><br><span class="line">    for p in doc.paragraphs:</span><br><span class="line">            if &apos;XXXX&apos; in p.text:</span><br><span class="line">                inline = p.runs</span><br><span class="line">                for i in range(len(inline)):</span><br><span class="line">                    if &apos;XXXX&apos; in inline[i].text:</span><br><span class="line">                        text = inline[i].text.replace(&apos;XXXX&apos;, textlist[count])</span><br><span class="line">                        inline[i].text = text</span><br><span class="line">                        count+=1</span><br><span class="line">            if &apos;X 年   X 月  X 日&apos; in p.text:</span><br><span class="line">                inline = p.runs</span><br><span class="line">                for i in range(len(inline)):</span><br><span class="line">                    if &apos;X 年   X 月  X 日&apos; in inline[i].text:</span><br><span class="line">                        text = inline[i].text.replace(&apos;X 年   X 月  X 日&apos;, datestr)</span><br><span class="line">                        inline[i].text = text</span><br><span class="line"></span><br><span class="line">    doc.save(&quot;%s_个人收入证明.docx&quot;%textlist[0])</span><br></pre></td></tr></table></figure>
<p> 运行后,输入结果:</p>
<p><img src="http://jcjview.github.io/img/pythonword3.png" alt></p>
<p><img src="http://jcjview.github.io/img/pythonword4.png" alt></p>
<p><em>人生苦短我用python早下班。如果觉得不错对你工作中有帮助请加我微信公众号flypython我们一起探讨python相关问题</em></p>
<p> <img src="https://flypython.com/images/wechat.png" alt="flypython微信公众号"></p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,164 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python批量转换任意文档格式,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python批量转换任意文档格式 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-oa-03/">
<meta property="og:image" content="http://www.flypython.com/images/oa3.jpg">
<meta property="og:description" content="Python批量转换任意文档格式--极简Python自动化办公系列">
<meta name="description" content="Python批量转换任意文档格式--极简Python自动化办公系列">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python批量转换任意文档格式 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">Python批量转换任意文档格式</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-01-03</span> | <span>Category</span><span><a href="/fly/自动化办公/" title="自动化办公">自动化办公</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<p>在工作中,常常会遇到文档格式的转换。如果数据不多,手工转换就可以。如果是大量文档,那我们应该怎么办呢?</p>
<p>今天我们将使用Python来批量处理文档转换的问题.</p>
<h4 id="关于unoconv"><a href="#关于unoconv" class="headerlink" title="关于unoconv"></a>关于unoconv</h4><p>unoconv是一款跨平台的工具用于格式转换支持命令行。底层实现是依赖于开源的LibreOffice/OpenOffice。</p>
<p>项目地址:<a href="https://github.com/unoconv/unoconv" target="_blank" rel="noopener">https://github.com/unoconv/unoconv</a></p>
<p>文档地址: <a href="http://dag.wiee.rs/home-made/unoconv/" target="_blank" rel="noopener">http://dag.wiee.rs/home-made/unoconv/</a></p>
<p>根据unoconv的文档介绍支持上百种文档格式的转换已经覆盖了绝大部分的需求。</p>
<h4 id="使用unoconv"><a href="#使用unoconv" class="headerlink" title="使用unoconv"></a>使用unoconv</h4><p>安装unoconv比较繁琐而且需要针对中文进行进一步的字符集配置。我们可以选择别人已经集成好的服务来进行操作在这里我们选择了docker-unoconv-webservice项目。</p>
<p>项目地址为: <a href="https://github.com/zrrrzzt/docker-unoconv-webservice" target="_blank" rel="noopener">https://github.com/zrrrzzt/docker-unoconv-webservice</a></p>
<p>查看项目的README接口如下: </p>
<p><code>curl --form file=@myfile.docx http://localhost/unoconv/pdf &gt; myfile.pdf</code></p>
<p>我们使用下列命令先把项目的镜像pull下来</p>
<p><code>docker pull zrrrzzt/docker-unoconv-webservice</code></p>
<p>然后启动命令如下:</p>
<p><code>docker run -d -p 80:3000 zrrrzzt/docker-unoconv-webservice</code></p>
<p>服务在80端口上提供服务如果80端口被占用可以调整为其他的端口</p>
<p>确认服务正在运行:</p>
<p><code>docker ps | grep zrrrzzt/docker-unoconv-webservice</code></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">[flypython] docker ps | grep zrrrzzt/docker-unoconv-webservice </span><br><span class="line">c014cf335b31 zrrrzzt/docker-unoconv-webservice &quot;/bin/sh -c &apos;/usr/bi…&quot; 2 minutes ago Up 2 minutes 0.0.0.0:80-&gt;3000/tcp brave_blackburn</span><br></pre></td></tr></table></figure>
<p>从docx转换为pdf</p>
<p><code>curl --form file=@demo.docx http://localhost/unoconv/pdf &gt; demo.pdf</code> </p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">[flypython] curl --form file=@demo.docx http://localhost/unoconv/pdf &gt; demo.pdf </span><br><span class="line"> % Total % Received % Xferd Average Speed Time Time Time Current</span><br><span class="line"> Dload Upload Total Spent Left Speed</span><br><span class="line">100 12089 100 4242 100 7847 2532 4684 0:00:01 0:00:01 --:--:-- 7213</span><br><span class="line">[flypython] ls demo* </span><br><span class="line">demo.docx demo.pdf</span><br></pre></td></tr></table></figure>
<h4 id="使用Python批量请求"><a href="#使用Python批量请求" class="headerlink" title="使用Python批量请求"></a>使用Python批量请求</h4><p>Python批量请求的思路是把需要转换的文档发送到服务器服务器会返回转换后的格式我们保存为文件就可以了。</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line">def post_file(url,path):</span><br><span class="line"> filename = os.path.basename(path)</span><br><span class="line"> convert_name = str(filename).split(&apos;.&apos;)[0] + &apos;.pdf&apos;</span><br><span class="line"></span><br><span class="line"> m = MultipartEncoder(</span><br><span class="line"> fields= &#123;</span><br><span class="line"> &apos;file&apos;:(filename,open(path,&apos;rb&apos;)),</span><br><span class="line"> &#125;</span><br><span class="line"> )</span><br><span class="line"> response = requests.request(&apos;POST&apos;, url, data=m, headers=&#123;&apos;Content-Type&apos;:m.content_type&#125;)</span><br><span class="line"></span><br><span class="line"> with open(convert_name, &apos;wb&apos;) as f:</span><br><span class="line"> f.write(response.content)</span><br><span class="line"></span><br><span class="line"> return convert_name</span><br></pre></td></tr></table></figure>
<p>好了更多类型转换更完整的应用需要你根据业务来完善这次的介绍就到这里了。demo完整代码在github上点击原文可以获取。</p>
<p><a href="https://github.com/flypythoncom/flypython/blob/master/convert.py" target="_blank" rel="noopener">https://github.com/flypythoncom/flypython/blob/master/convert.py</a></p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,174 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python读取PDF文字和表格,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python读取PDF文字和表格 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-oa-04/">
<meta property="og:image" content="http://www.flypython.com/images/oa4.jpg">
<meta property="og:description" content="Python读取PDF文字和表格--极简Python自动化办公系列">
<meta name="description" content="Python读取PDF文字和表格--极简Python自动化办公系列">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python读取PDF文字和表格 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">Python读取PDF文字和表格</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-01-04</span> | <span>Category</span><span><a href="/fly/自动化办公/" title="自动化办公">自动化办公</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<blockquote>
<p>【极简Python 自动化办公】专栏是介绍如何利用python办公减少工作负荷。篇幅精炼内容易懂无论是否有编程基础都非常适合。</p>
</blockquote>
<p>在日常的工作中处理PDF是最平常不过的事情了。今天带来极简Python自动化办公系列之使用Python提取Pdf文字和表格希望能够在PDF处理上帮到你。</p>
<p>这次我们准备了一个pdf测试文件内容如下</p>
<p><img src="https://tva1.sinaimg.cn/large/006y8mN6ly1g8e0nlr7gdj30kc0zcjua.jpg" alt></p>
<p>pdf中包括了2页有文字图片和表格覆盖了大部分pdf的场景。</p>
<h4 id="pdfplumber介绍"><a href="#pdfplumber介绍" class="headerlink" title="pdfplumber介绍"></a>pdfplumber介绍</h4><p>Pdfplumber是一个可以处理pdf格式信息的库。它可以查找关于每个文本字符、矩阵、和行的详细信息也可以对表格进行提取并进行可视化调试。</p>
<p>官方repo:<br> <code>https://github.com/jsvine/pdfplumber</code></p>
<p>安装:<br><code>pip install pdfplumber</code></p>
<h4 id="使用入门"><a href="#使用入门" class="headerlink" title="使用入门"></a>使用入门</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">import pdfplumber</span><br><span class="line"> </span><br><span class="line">with pdfplumber.open(&quot;test.pdf&quot;) as pdf:</span><br><span class="line"> first_page = pdf.pages[0] #取第一页</span><br><span class="line"> print(first_page.chars[0])#打印第一页第一个字文字信息</span><br></pre></td></tr></table></figure>
<p>结果:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">&#123;&apos;fontname&apos;: &apos;CRSMRF+PingFangTC-Semibold&apos;, &apos;adv&apos;: Decimal(&apos;1.000&apos;), &apos;upright&apos;: 1, &apos;x0&apos;: Decimal(&apos;57.000&apos;), &apos;y0&apos;: Decimal(&apos;751.840&apos;), &apos;x1&apos;: Decimal(&apos;81.000&apos;), &apos;y1&apos;: Decimal(&apos;779.776&apos;), &apos;width&apos;: Decimal(&apos;24.000&apos;), &apos;height&apos;: Decimal(&apos;27.936&apos;), &apos;size&apos;: Decimal(&apos;27.936&apos;), &apos;object_type&apos;: &apos;char&apos;, &apos;page_number&apos;: 1, &apos;text&apos;: &apos;&apos;, &apos;top&apos;: Decimal(&apos;62.224&apos;), &apos;bottom&apos;: Decimal(&apos;90.160&apos;), &apos;doctop&apos;: Decimal(&apos;62.224&apos;)&#125;</span><br></pre></td></tr></table></figure>
<p>格式化之后:</p>
<p><img src="https://tva1.sinaimg.cn/large/006y8mN6ly1g8e0nm8qvij30kq0hi0um.jpg" alt></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">&#123;</span><br><span class="line"> &quot;fontname&quot;:&quot;CRSMRF+PingFangTC-Semibold&quot;,</span><br><span class="line"> &quot;adv&quot;:&quot;1.000&quot;,</span><br><span class="line"> &quot;upright&quot;:1,</span><br><span class="line"> &quot;x0&quot;:&quot;57.000&quot;,</span><br><span class="line"> &quot;y0&quot;:&quot;751.840&quot;,</span><br><span class="line"> &quot;x1&quot;:&quot;81.000&quot;,</span><br><span class="line"> &quot;y1&quot;:&quot;779.776&quot;,</span><br><span class="line"> &quot;width&quot;:&quot;24.000&quot;,</span><br><span class="line"> &quot;height&quot;:&quot;27.936&quot;,</span><br><span class="line"> &quot;size&quot;:&quot;27.936&quot;,</span><br><span class="line"> &quot;object_type&quot;:&quot;char&quot;,</span><br><span class="line"> &quot;page_number&quot;:1, #页数</span><br><span class="line"> &quot;text&quot;:&quot;&quot;, #第一个文字</span><br><span class="line"> &quot;top&quot;:&quot;62.224&quot;,</span><br><span class="line"> &quot;bottom&quot;:&quot;90.160&quot;,</span><br><span class="line"> &quot;doctop&quot;:&quot;62.224&quot;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>
<h4 id="常用方法"><a href="#常用方法" class="headerlink" title="常用方法"></a>常用方法</h4><ul>
<li>extract_text() 用来提页面中的文本,将页面的所有字符对象整理为一个字符串</li>
<li>extract_words() 返回的是所有的单词及其相关信息</li>
<li>extract_tables() 提取页面的表格</li>
</ul>
<h4 id="提取文字"><a href="#提取文字" class="headerlink" title="提取文字"></a>提取文字</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">#!/usr/bin/env python3</span><br><span class="line"></span><br><span class="line">import pdfplumber</span><br><span class="line"></span><br><span class="line">with pdfplumber.open(&quot;test.pdf&quot;) as pdf:</span><br><span class="line"> first_page = pdf.pages[0]</span><br><span class="line"> text = first_page.extract_text() #提取第一页的所有文字</span><br><span class="line"> print(text)</span><br></pre></td></tr></table></figure>
<p><img src="https://tva1.sinaimg.cn/large/006y8mN6ly1g8e0nmzq4wj30r007wgms.jpg" alt></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">关于我们</span><br><span class="line">关于FlyPython</span><br><span class="line">FlyPython是提供⼀站式Python编程学习的组织我们致⼒于为⽤户提供⾼</span><br><span class="line">有趣的学习环境打造专注于Python的中⽂学习社区。</span><br><span class="line">联系我们</span><br><span class="line">客服&amp;合作: 微信号 flypython</span><br><span class="line">微信公众号:</span><br></pre></td></tr></table></figure>
<h4 id="提取表格"><a href="#提取表格" class="headerlink" title="提取表格"></a>提取表格</h4><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line">#!/usr/bin/env python3</span><br><span class="line"></span><br><span class="line">import pdfplumber</span><br><span class="line">import pandas as pd</span><br><span class="line"></span><br><span class="line">with pdfplumber.open(&quot;test.pdf&quot;) as pdf:</span><br><span class="line"> first_page = pdf.pages[0]</span><br><span class="line"> text = first_page.extract_text()</span><br><span class="line"> print(text)</span><br><span class="line"></span><br><span class="line"> second_page = pdf.pages[1] #第二页</span><br><span class="line"> table = second_page.extract_tables()#在第二页提取表格</span><br><span class="line"> for t in table:</span><br><span class="line"> df = pd.DataFrame(t[1:],columns=t[0])</span><br><span class="line"> print(df)</span><br></pre></td></tr></table></figure>
<p><img src="https://tva1.sinaimg.cn/large/006y8mN6ly1g8e0no9hykj30po0f8wg9.jpg" alt></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"> 分类 书名</span><br><span class="line">0 Python入门 Python编程从入门到\n实践</span><br><span class="line">1 Python中级 流畅的Python</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td></tr></table></figure>
<h4 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h4><p>pdfplumber的接口还是很容易的如果只是需要提取文字几行代码就可以提取到。如果是表格并没有提取出来或者错误的提取了非表格的内容你需要在提取表格时加入<code>table_settings</code>参数来指定表格的设置。</p>
<p>这次的demo中图片并没有提取出来pdf图片的提取会放到下一篇文章敬请期待。</p>
<p><em>人生苦短我用python早下班。如果觉得不错对你工作中有帮助可以长按下列二维码关注我们的公众号。</em></p>
<p> <img src="https://flypython.com/images/wechat.png" alt="flypython微信公众号"></p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,159 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python读取PDF图片,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python读取PDF图片 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-oa-05/">
<meta property="og:image" content="http://www.flypython.com/images/oa4.jpg">
<meta property="og:description" content="Python读取PDF图片--极简Python自动化办公系列">
<meta name="description" content="Python读取PDF图片--极简Python自动化办公系列">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python读取PDF图片 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">Python读取PDF图片</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-01-05</span> | <span>Category</span><span><a href="/fly/自动化办公/" title="自动化办公">自动化办公</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<blockquote>
<p>【极简Python 自动化办公】专栏是介绍如何利用python办公减少工作负荷。篇幅精炼内容易懂无论是否有编程基础都非常适合。</p>
</blockquote>
<p>在上次的文章中我们从PDF中提取了文字和表格这次我们需要提取图片。</p>
<p>还是先来看看我们上次的测试例子</p>
<p><img src="https://tva1.sinaimg.cn/large/006y8mN6ly1g8e0nlr7gdj30kc0zcjua.jpg" alt></p>
<p>这次我们要提取第一页的二维码图片。</p>
<h4 id="fitz介绍"><a href="#fitz介绍" class="headerlink" title="fitz介绍"></a>fitz介绍</h4><p>pymupdf是mupdf的Python绑定而今天我们要使用的fitz是pymupdf的子模块。需要的时候使用pip安装。</p>
<p><code>pip install pymupdf</code></p>
<p>导入的时使用<code>import fitz</code>导入模块。</p>
<p>更多信息可参考pymupdf的文档:<br><code>https://pymupdf.readthedocs.io/en/latest/intro/</code></p>
<h4 id="提取图片"><a href="#提取图片" class="headerlink" title="提取图片"></a>提取图片</h4><p>提取图片的思路是通过正则表达式找到图片对象,然后保存为图片格式。</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br></pre></td><td class="code"><pre><span class="line">#!/usr/bin/env python3</span><br><span class="line"></span><br><span class="line">import fitz #pip install pymupdf</span><br><span class="line">import re</span><br><span class="line">import os</span><br><span class="line"></span><br><span class="line">def find_imag(path,img_path):</span><br><span class="line"></span><br><span class="line"> checkXO = r&quot;/Type(?= */XObject)&quot;</span><br><span class="line"> checkIM = r&quot;/Subtype(?= */Image)&quot;</span><br><span class="line"></span><br><span class="line"> pdf = fitz.open(path)</span><br><span class="line"></span><br><span class="line"> img_count = 0</span><br><span class="line"> len_XREF = pdf._getXrefLength()</span><br><span class="line"></span><br><span class="line"> print(&quot;文件名:&#123;&#125;, 页数: &#123;&#125;, 对象: &#123;&#125;&quot;.format(path, len(pdf), len_XREF - 1))</span><br><span class="line"></span><br><span class="line"> for i in range(1, len_XREF):</span><br><span class="line"> text = pdf._getXrefString(i)</span><br><span class="line"> isXObject = re.search(checkXO, text)</span><br><span class="line"></span><br><span class="line"> # 使用正则表达式查看是否是图片</span><br><span class="line"> isImage = re.search(checkIM, text)</span><br><span class="line"></span><br><span class="line"> # 如果不是对象也不是图片则continue</span><br><span class="line"> if not isXObject or not isImage:</span><br><span class="line"> continue</span><br><span class="line"> img_count += 1</span><br><span class="line"> # 根据索引生成图像</span><br><span class="line"> pix = fitz.Pixmap(pdf, i)</span><br><span class="line"> </span><br><span class="line"> new_name = path.replace(&apos;\\&apos;, &apos;_&apos;) + &quot;_img&#123;&#125;.png&quot;.format(img_count)</span><br><span class="line"> new_name = new_name.replace(&apos;:&apos;, &apos;&apos;)</span><br><span class="line"></span><br><span class="line"> # 如果pix.n&lt;5,可以直接存为PNG</span><br><span class="line"> if pix.n &lt; 5:</span><br><span class="line"> pix.writePNG(os.path.join(img_path, new_name))</span><br><span class="line"> </span><br><span class="line"> else:</span><br><span class="line"> pix0 = fitz.Pixmap(fitz.csRGB, pix)</span><br><span class="line"> pix0.writePNG(os.path.join(img_path, new_name))</span><br><span class="line"> pix0 = None</span><br><span class="line"> </span><br><span class="line"> pix = None</span><br><span class="line"> </span><br><span class="line"> print(&quot;提取了&#123;&#125;张图片&quot;.format(img_count))</span><br><span class="line"></span><br><span class="line"></span><br><span class="line">if __name__==&apos;__main__&apos;:</span><br><span class="line"> pdf_path = r&apos;test.pdf&apos;</span><br><span class="line"> img_path = r&apos;img&apos;</span><br><span class="line"> m = find_imag(pdf_path, img_path)</span><br></pre></td></tr></table></figure>
<p>运行程序结果:</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">[pdf] python3 pdf_img.py</span><br><span class="line">文件名:test.pdf, 页数: 2, 对象: 115</span><br><span class="line">提取了1张图片</span><br></pre></td></tr></table></figure>
<p>在img目录中已经存在了我们需要的文件</p>
<p><img src="https://tva1.sinaimg.cn/large/006y8mN6ly1g8osipfp3uj30uu0jqgrw.jpg" alt></p>
<h4 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h4><p>pymupdf的使用今天就简单介绍到这里。更多的功能请参考pymupdf文档。</p>
<p>下一篇我们将带来pdf转换为图片的讨论。</p>
<p><em>人生苦短我用python早下班。如果觉得不错对你工作中有帮助可以长按下列二维码关注我们的公众号。</em></p>
<p> <img src="https://tva1.sinaimg.cn/large/006y8mN6ly1g8pj2981c1j3076076mxn.jpg" alt="flypython微信公众号"></p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,174 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="你是如何自学Python的,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="你是如何自学Python的 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-tutorial-01/">
<meta property="og:image" content="http://www.flypython.com/images/tutorial1.png">
<meta property="og:description" content="你是如何自学Python的--Python入门教程">
<meta name="description" content="你是如何自学Python的--Python入门教程">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>你是如何自学Python的 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">你是如何自学Python的</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-02-01</span> | <span>Category</span><span><a href="/fly/Python入门/" title="Python入门">Python入门</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<h1 id="你是如何自学-Python-的?"><a href="#你是如何自学-Python-的?" class="headerlink" title="你是如何自学 Python 的?"></a>你是如何自学 Python 的?</h1><p><img src="http://jcjview.github.io/img/flypythonflypython001.jpg" alt></p>
<p>why python?</p>
<blockquote>
<p>你可能听说过python</p>
<p>Python入门相对容易又可以干很多事(网站,&gt;运维,数据,爬虫等),是一门方便的工具语言。<br><strong>2019年8月TIOBE排名显示Python已经名列第3</strong>仅次于java和c并且还在快速增长中。</p>
</blockquote>
<h2 id="Python的使用场景"><a href="#Python的使用场景" class="headerlink" title="Python的使用场景"></a>Python的使用场景</h2><h3 id="01-数据分析"><a href="#01-数据分析" class="headerlink" title="01 数据分析"></a>01 数据分析</h3><p>对于数据分析和机器学习Python是首选编程语言。python有众多数据分析工具知名数据分析比赛网站kaggle90%以上的竞赛代码都是用python写成。大数据平台如spark、flinkpython有完整的支持api可调用。</p>
<h3 id="02-网站开发"><a href="#02-网站开发" class="headerlink" title="02 网站开发"></a>02 网站开发</h3><p>对于网站开发Python的生态环境也可以支撑起重量级的产品。<br>国外的YoutubeInstagramPinterestRedditDropboxDisqus Quora等知名应用一开始都是基于Python构建国内的豆瓣知乎果壳饿了么等初期在也是Python应用的典型。</p>
<h3 id="03-爬虫"><a href="#03-爬虫" class="headerlink" title="03 爬虫"></a>03 爬虫</h3><p>对于爬虫则想不到比python更方便、更通用的的语言了。Python极其丰富的生态诸如Request、Beautiful Soup、Scrapy、PySpider等第三方库加上简洁易上手的语法分分钟就能让你写出一个爬虫来。</p>
<p>此外还有机器学习、人工智能、科学计算、IT运维等领域Python都是极其方便顺手的工具更重要的是永远开源免费。</p>
<h2 id="Python的就业前景"><a href="#Python的就业前景" class="headerlink" title="Python的就业前景"></a>Python的就业前景</h2><p>在it行业飞速发展的今天在数据成为it命脉的时代python的重要意义越来越不言自明。学习python不仅仅是一门可以调用数据结构和算法的语言在学会python的同时可以同时学会爬取互联网海量资源学会自动化分析互联网海量数据学会制作展示宣传的网站学会使用人工智能预测和改变世界。</p>
<p>学习一门语言,得到多种技能,以及大数据的思维方式,何乐而不为呢。</p>
<h3 id="Python有多火"><a href="#Python有多火" class="headerlink" title="Python有多火"></a>Python有多火</h3><p>Python有多火大多数IT研发岗位都需要Python程序员甚至许多非研发岗位纷纷在JD中给出精通Python技能者优先的字样。</p>
<p><img src="http://jcjview.github.io/img/flypythonpython%20job.jpg" alt></p>
<p><img src="http://jcjview.github.io/img/flypythonpython%20job2.jpg" alt></p>
<h2 id="Python的学习曲线"><a href="#Python的学习曲线" class="headerlink" title="Python的学习曲线"></a>Python的学习曲线</h2><p>对于爱好者来说, python上手非常容易学习曲线非常平滑。基本的例子几行代码都能完成。</p>
<p>python代码环境安装几乎是傻瓜式的不像java要考虑众多库的配置和解决冲突。如果有编程的基础甚至只需要几小时就能上手即使没有基础的小白通过努力7-10天每天1小时也可以快速掌握基本编程技巧。</p>
<h2 id="Python的学习资料"><a href="#Python的学习资料" class="headerlink" title="Python的学习资料"></a>Python的学习资料</h2><p>Python官网<br>Python.org</p>
<p>廖雪峰的Python教程<br><a href="https://www.liaoxuefeng.com/" target="_blank" rel="noopener">https://www.liaoxuefeng.com/</a></p>
<p>简明python教程<br><a href="http://www.kuqin.com/abyteofpython_cn/" target="_blank" rel="noopener">http://www.kuqin.com/abyteofpython_cn/</a></p>
<hr>
<p>重点推荐书籍《Python 基础教程》</p>
<p><img src="http://jcjview.github.io/img/flypythonflpython001zhihu.jpg" alt></p>
<p>知乎评价:<br><img src="http://jcjview.github.io/img/flypythonflpython001zhihu002.jpg" alt></p>
<p>其他入门书籍:</p>
<ul>
<li>Head First Python</li>
<li>Dive Into Python</li>
<li>Python 核心编程</li>
<li>深入理解 Python</li>
<li>Python 标准库</li>
<li>Python 编程指南</li>
</ul>
<p>我们搜集了一些网上的电子书版本关注公众号回复”python”获取</p>
<p>当然,英文著作虽然经典,但涉及领域众多,概念多,信息量大,不适合速成。网上的资料丰富,但也鱼龙混杂。</p>
<p>以 “Python入门” 为关键字搜索出的结果成千上万。不少小白选手难免会东一榔头西一棒槌,最终看了很多文章,却仍没跨过新手那道门槛。</p>
<p>我们这里有一个python的入门课程帮你把需要掌握的python基础知识都融汇贯通在小篇幅中。我们提供了很多有趣的实践项目并且可以进群互助学习遇到困难有人来解答。</p>
<p>加群请关注公众号,并回复“训练营”<br> <img src="https://flypython.com/images/wechat.png" alt="flypython微信公众号"></p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,179 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="潘石屹我们为什么要学习Python语言,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="潘石屹我们为什么要学习Python语言 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-tutorial-02/">
<meta property="og:image" content="http://www.flypython.com/images/tutorial2.png">
<meta property="og:description" content="潘石屹我们为什么要学习Python语言--Python入门教程">
<meta name="description" content="潘石屹我们为什么要学习Python语言--Python入门教程">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>潘石屹我们为什么要学习Python语言 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">潘石屹我们为什么要学习Python语言</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-02-02</span> | <span>Category</span><span><a href="/fly/Python入门/" title="Python入门">Python入门</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<blockquote>
<p>11 月 15 日SOHO 中国董事长潘石屹在微博上宣布,开始学习一门新的语言 Python这也是今天给自己人生的礼物。</p>
</blockquote>
<p><img src="https://raw.githubusercontent.com/jcjview/jcjview.github.io/master/img/%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20191115152124.jpg" alt></p>
<p>什么鬼房地产大佬要学python</p>
<p><img src="https://raw.githubusercontent.com/jcjview/jcjview.github.io/master/img/pys.jpg" alt></p>
<p>潘石屹一位成功的房地产开发商老板第一专业是石油方面的63年出生年龄都超过了55岁这些描述怎么着都和编程沾不上边啊。然而最近他非常高调地表示要学习一款编程语言。<br>虽然我不同意他的有些观点,不过他的跨界,不给自己设限的态度是还是值得学习的。<br>大佬都忙着学编程这让我们35岁左右的专业程序员们非常惭愧啊难道非得财务自由以后才能学python么</p>
<p><img src="http://jcjview.github.io/img/flypythonflypython001.jpg" alt></p>
<p>潘石屹学python肯定不是为了转行找工作肯定也不是为了爬取全网美女图片他在微博里详细阐述了我们为什么要学习Python语言。</p>
<p><img src="https://raw.githubusercontent.com/jcjview/jcjview.github.io/master/img/%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20191115152906.png" alt></p>
<p>我们为什么要学习python——使用范围广<br>01.数据分析</p>
<p>对于数据科学和机器学习Python是首选编程语言。python有众多数据分析工具知名数据分析比赛网站kaggle90%以上的竞赛代码都是用python写成。大数据平台如hadoop、spark、flink、beampython有完整的支持api可调用。</p>
<p>02.网站开发</p>
<p>对于网站开发Python的生态环境也可以支撑起重量级的产品。国外的YoutubeInstagramPinterestRedditDropboxDisqus Quora等知名应用一开始都是基于Python构建国内的豆瓣知乎果壳饿了么等初期在也是Python应用的典型。</p>
<p>03.爬虫</p>
<p>对于爬虫则想不到比python更方便、更通用的的语言了。Python极其丰富的生态诸如Request、Beautiful Soup、Scrapy、PySpider等第三方库加上简洁易上手的语法分分钟就能让你写出一个爬虫来。</p>
<p>此外还有机器学习、人工智能、科学计算、IT运维等领域Python都是极其方便顺手的工具更重要的是永远开源免费。</p>
<p>Python的就业前景<br>在it行业飞速发展的今天在数据成为it命脉的时代python的重要意义越来越不言自明。学习python不仅仅是一门可以调用数据结构和算法的语言在学会python的同时可以同时学会爬取互联网海量资源学会自动化分析互联网海量数据学会制作展示宣传的网站学会使用人工智能预测和改变世界。学习一门语言得到多种技能以及大数据的思维方式何乐而不为呢。</p>
<p>Python有多火大多数IT研发岗位都需要Python程序员甚至许多非研发岗位纷纷在JD中给出精通Python技能者优先的字样。</p>
<p>Python的学习曲线<br>对于爱好者来说, python上手非常容易学习曲线非常平滑。基本的例子几行代码都能完成。python代码环境安装几乎是傻瓜式的不像java要考虑众多库的配置和解决冲突。如果有编程的基础甚至只需要几小时就能上手即使没有基础的小白通过努力7-10天每天1小时也可以快速掌握基本编程技巧。</p>
<p>Python的学习资料</p>
<p>Python官网 </p>
<p>Python.org</p>
<p>廖雪峰的Python教程 </p>
<p><a href="https://www.liaoxuefeng.com/" target="_blank" rel="noopener">https://www.liaoxuefeng.com/</a></p>
<p>简明的python教程 </p>
<p><a href="http://www.kuqin.com/abyteofpython_cn/" target="_blank" rel="noopener">http://www.kuqin.com/abyteofpython_cn/</a></p>
<p>重点推荐书籍:</p>
<p>《Python 基础教程》</p>
<p>知乎评价:</p>
<p>其他入门书籍:</p>
<p>Head First Python</p>
<p>Dive Into Python</p>
<p>Python 核心编程</p>
<p>深入理解 Python</p>
<p>Python 标准库</p>
<p>Python 编程指南</p>
<p>我们搜集了一些网上的电子书版本关注公众号回复”python”获取</p>
<p>当然,英文著作虽然经典,但涉及领域众多,概念多,信息量大,不适合速成。网上的资料丰富,但也鱼龙混杂。</p>
<p>以 “Python入门” 为关键字搜索出的结果成千上万。不少小白选手难免会东一榔头西一棒槌,最终看了很多文章,却仍没跨过新手那道门槛。</p>
<p>我们这里有一个python的入门课程帮你把需要掌握的python基础知识都融汇贯通在小篇幅中。我们提供了很多有趣的实践项目并且可以进群互助学习遇到困难有人来解答。</p>
<p>加群请加个人微信号flypython。</p>
<p>人生苦短我用python早下班。如果觉得不错对你工作中有帮助动动手指分享给更多人哦。</p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

View File

@@ -0,0 +1,249 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python正则15分钟入门,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python正则15分钟入门 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:type" content="article">
<meta property="og:url" content="http://www.flypython.com/article/python-tutorial-03/">
<meta property="og:image" content="http://www.flypython.com/images/tutorial3.png">
<meta property="og:description" content="Python正则15分钟入门--Python入门教程">
<meta name="description" content="Python正则15分钟入门--Python入门教程">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python正则15分钟入门 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<link rel="stylesheet" href="/css/gitalk.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="wrapper post-banner">
<div class="container post-banner-container">
<h2 class="wrapper title">Python正则15分钟入门</h2>
<div class="wrapper tips">
<span>Author</span><span>flypython</span> | <span>Date: </span><span>2019-02-03</span> | <span>Category</span><span><a href="/fly/Python入门/" title="Python入门">Python入门</a></span>
</div>
</div>
</section>
<section class="wrapper main-wrapper">
<article class="sub-container post-content">
<p>flypython群里有同学问我如何从大量格式不确定的word文档抽取姓名、电话号码、邮箱等信息存入excel表格。通过之前我们的文章他已经学会读取和写入文档和表格但就是无法处理格式不确定的文档。<strong>这里介绍的正则方法,可以帮助他解决这个问题。</strong></p>
<h2 id="目标"><a href="#目标" class="headerlink" title="目标"></a>目标</h2><p>15分钟内让你真正明白正则表达式是什么并且让你可以在自己的python程序里正确使用它。</p>
<p>你将学会:</p>
<ol>
<li>极简python使用正则的方法</li>
<li>如果利用python高效的匹配字符串</li>
<li>如何利用python正则进行文本判断、过滤、信息提取</li>
</ol>
<h2 id="0-极简正则入门"><a href="#0-极简正则入门" class="headerlink" title="0.极简正则入门"></a>0.极简正则入门</h2><p>假设程序从word或者excel读取了一串字符串字符串中有一部分是电话号码现在需要完整提取这个电话号码。</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> re</span><br><span class="line">reg=re.compile(<span class="string">"[0-9]+"</span>)</span><br><span class="line">a=reg.findall(<span class="string">"我的电话是3555487"</span>)</span><br><span class="line">print(a)</span><br></pre></td></tr></table></figure>
<p>输出:</p>
<p><img src="https://raw.githubusercontent.com/jcjview/jcjview.github.io/master/img/20191016101032.png" alt></p>
<p>解释:<br><code>&quot;[0-9]+&quot;</code>是正则表达式意思是匹配0-9的数字<code>&quot;+&quot;</code><br>表示可以匹配1次-多次,<code>reg.findall</code>表示从后面的字符串里找到所有的匹配值。</p>
<h2 id="1-字符集"><a href="#1-字符集" class="headerlink" title="1.字符集"></a>1.字符集</h2><p>字符集,又叫元字符,就是用一些特殊符号表示特定种类的字符或位置。</p>
<h4 id="匹配字符"><a href="#匹配字符" class="headerlink" title="匹配字符"></a>匹配字符</h4><table>
<thead>
<tr>
<th align="center">代码</th>
<th>说明</th>
</tr>
</thead>
<tbody><tr>
<td align="center"><code>.</code></td>
<td>匹配除换行符以外的任意一个字符</td>
</tr>
<tr>
<td align="center"><code>\d</code></td>
<td>匹配数字</td>
</tr>
<tr>
<td align="center"><code>\w</code></td>
<td>匹配字母或数字或下划线或汉字</td>
</tr>
<tr>
<td align="center"><code>\s</code></td>
<td>匹配任意的空白符</td>
</tr>
<tr>
<td align="center"><code>^</code></td>
<td>匹配字符串的开始</td>
</tr>
<tr>
<td align="center"><code>$</code></td>
<td>匹配字符串的结束</td>
</tr>
</tbody></table>
<p>举例</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> re</span><br><span class="line">reg=re.compile(<span class="string">"我."</span>)</span><br><span class="line">a=reg.findall(<span class="string">"我的电话是3555487"</span>)</span><br><span class="line">print(a)</span><br></pre></td></tr></table></figure>
<p>输出:<br><img src="http://jcjview.github.io/img/re201910161010321.png" alt></p>
<h4 id="重复匹配"><a href="#重复匹配" class="headerlink" title="重复匹配"></a>重复匹配</h4><table>
<thead>
<tr>
<th align="center">代码</th>
<th>说明</th>
</tr>
</thead>
<tbody><tr>
<td align="center"><code>*</code></td>
<td>重复0次-无数次</td>
</tr>
<tr>
<td align="center"><code>+</code></td>
<td>重复1次-无数次</td>
</tr>
<tr>
<td align="center"><code>?</code></td>
<td>重复0次-1次</td>
</tr>
<tr>
<td align="center"><code>{m}</code></td>
<td>重复m次</td>
</tr>
<tr>
<td align="center"><code>{m,n}</code></td>
<td>重复m-n次</td>
</tr>
</tbody></table>
<p>举例</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> re</span><br><span class="line">reg=re.compile(<span class="string">"5+"</span>)</span><br><span class="line">a=reg.findall(<span class="string">"我的电话是3555487"</span>)</span><br><span class="line">print(a)</span><br></pre></td></tr></table></figure>
<p>输出:<br><img src="https://raw.githubusercontent.com/jcjview/jcjview.github.io/master/img/re_20191016101824.png" alt></p>
<h4 id="贪婪与懒惰"><a href="#贪婪与懒惰" class="headerlink" title="贪婪与懒惰"></a>贪婪与懒惰</h4><p>贪婪:匹配尽可能长的字符串<br>懒惰:匹配尽可能短的字符串<br>懒惰模式的启用只需在重复元字符之后加?既可。</p>
<ul>
<li><code>*?</code> 重复任意次,但尽可能少重复</li>
<li><code>+?</code> 重复1次或更多次但尽可能少重复</li>
<li><code>??</code> 重复0次或1次但尽可能少重复</li>
<li><code>{n,m}?</code> 重复n到m次但尽可能少重复</li>
<li><code>{n,}?</code> 重复n次以上但尽可能少重复</li>
</ul>
<p>举例</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> re</span><br><span class="line">reg=re.compile(<span class="string">"5+?"</span>)</span><br><span class="line">a=reg.findall(<span class="string">"我的电话是3555487"</span>)</span><br><span class="line">print(a)</span><br></pre></td></tr></table></figure>
<p>输出<br><img src="https://raw.githubusercontent.com/jcjview/jcjview.github.io/master/img//re_20191016101824111.png" alt></p>
<p>注意:<br>如果想匹配元字符本身或者正则中的一些特殊字符,使用<code>\\</code>转义。</p>
<p>这里介绍的正则内容是最基础的,想要了解更详细的正则表达式语法,请参考:</p>
<h2 id="2-利用正则判断"><a href="#2-利用正则判断" class="headerlink" title="2.利用正则判断"></a>2.利用正则判断</h2><h4 id="判断"><a href="#判断" class="headerlink" title="判断"></a>判断</h4><p>有时候我们想利用正则表达式对用户输入进行判断,比如判断用户输入的身份证号是否符合规则,那么可以这样写:</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> re</span><br><span class="line">r=<span class="string">r'^([1-9]\d&#123;5&#125;[12]\d&#123;3&#125;(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d&#123;3&#125;[0-9xX])$'</span></span><br><span class="line"></span><br><span class="line">s1 = <span class="string">'110102200101014779'</span></span><br><span class="line"></span><br><span class="line"><span class="comment">#判断s1字符串是符合正则r</span></span><br><span class="line">an = re.search(r, s1)</span><br><span class="line"><span class="keyword">if</span> an:</span><br><span class="line"> <span class="keyword">print</span> (<span class="string">'yes'</span>)</span><br><span class="line"><span class="keyword">else</span>:</span><br><span class="line"> <span class="keyword">print</span> (<span class="string">'no'</span>)</span><br></pre></td></tr></table></figure>
<p>输入结果<br><img src="https://raw.githubusercontent.com/jcjview/jcjview.github.io/master/img/re_20191016104208.png" alt></p>
<p>说明:<code>^</code>字符表示必须匹配字符串开头;<code>$</code>表示必须匹配字符串结尾。</p>
<h4 id="过滤"><a href="#过滤" class="headerlink" title="过滤"></a>过滤</h4><p>假设,输出一串文本,只想保留汉字,去除特殊符号。代码如下:</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> re</span><br><span class="line">special_character_removal = re.compile(<span class="string">r'[,。、【 】“”:;()《》‘’&#123;&#125;?!⑦%&gt;℃.^-——=&amp;#@¥『』]'</span>, re.IGNORECASE)</span><br><span class="line">line=<span class="string">"贾蓉看了说:“高明的很。还要请教先生,这病与『性』命终久有妨无妨?”"</span></span><br><span class="line">l = special_character_removal.sub(<span class="string">''</span>, line)</span><br><span class="line">print(l)</span><br></pre></td></tr></table></figure>
<p>输入结果:<br><img src="https://raw.githubusercontent.com/jcjview/jcjview.github.io/master/img/re_20191016104753.png" alt></p>
<h4 id="查找位置"><a href="#查找位置" class="headerlink" title="查找位置"></a>查找位置</h4><p>查找某个文本在字符串中的位置,一般用于信息提取。</p>
<figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> re</span><br><span class="line">p = re.compile(<span class="string">"\d+"</span>)</span><br><span class="line">content=<span class="string">"2019年9月9月9日"</span></span><br><span class="line">result2 = p.finditer(content)</span><br><span class="line"></span><br><span class="line"><span class="keyword">for</span> m <span class="keyword">in</span> result2:</span><br><span class="line"> print(<span class="string">"str"</span>,m.group()) <span class="comment">##字符串</span></span><br><span class="line"> print(<span class="string">"start: "</span>,m.start(),<span class="string">" end: "</span>,m.end()) <span class="comment">##字符串位置</span></span><br></pre></td></tr></table></figure>
<p>输出结果</p>
<p><img src="https://raw.githubusercontent.com/jcjview/jcjview.github.io/master/img/re_20191016110227.png" alt></p>
<p><em>人生苦短我用python早下班。如果觉得不错对你工作中有帮助请长按下面二维码关注我们。回复训练营加群一起探讨python问题</em></p>
<p> <img src="https://flypython.com/images/wechat.png" alt="flypython微信公众号"></p>
</article>
<div class="sub-container gitalk-wrapper" id="gitalk-container"></div>
</section>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
<script src="/js/gitalk.min.js"></script>
<script>
var gitalkAdmin = 'xxg1413'.split(',');
var gitalk = new Gitalk({
clientID: 'd0e566bfc45c0b852c6c',
clientSecret: '6b69b3a841c85a6223e5a904c47f5e2d84322980',
repo: 'gitalk',
owner: 'flypythoncom',
admin: gitalkAdmin,
id: location.pathname.length > 50 ? location.pathname.substr(0,50) : location.pathname, // Ensure uniqueness and length less than 50
distractionFreeMode: false // Facebook-like distraction free mode
});
gitalk.render('gitalk-container');
</script>
</body>
</html>

503
css/f25.css Normal file
View File

@@ -0,0 +1,503 @@
body{
margin: 0;
font-family: "PingFang SC","Lantinghei SC","Microsoft Yahei","Hiragino Sans GB","Microsoft Sans Serif","WenQuanYi Micro Hei",sans;
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-rendering: optimizelegibility;
-webkit-overflow-scrolling: touch;
overflow: scroll;
}
html , body{
height: 100%;
}
.header-wrapper{
height: 64px;
width: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 999;
background: #fff;
box-shadow: 0px 1px 2px #999;
}
.wrapper{
width: 100%;
}
.wrapper::before,
.wrapper::after{
clear: both;
display: table;
content: "";
}
.container{
width: 1200px;
margin: 0 auto;
}
.sub-container{
width: 960px;
margin: 0 auto;
}
.container::before,
.container::after,
.sub-container::before,
.sub-container::after{
clear: both;
display: table;
content: "";
}
.header-nav-wrapper{
height: 100%;
position: relative;
}
.logo{
float: left;
height: 100%;
width: 200px;
background: #fff;
}
.logo a{
width: 100%;
height: 100%;
color: #03339e;
text-decoration: none;
}
.logo a:hover,
.logo a:visited,
.logo a:acive{
color: #03339e;
text-decoration: none;
}
.logo .title{
margin: 0;
padding: 0;
line-height: 64px;
user-select: none;
width: 100%;
height: 100%;
font-size: 24px;
box-sizing: border-box;
}
.nav-wrapper{
float: right;
}
.nav-wrapper a{
display: block;
float: left;
height: 100%;
font-size: 18px;
line-height: 20px;
padding: 22px;
color: #000;
cursor: pointer;
text-decoration: none;
transition: all .4s;
}
.nav-wrapper a:hover{
color: #fff;
background-color: #6C62C7;
text-decoration: none;
}
.nav-wrapper a:active,
.nav-wrapper a:visited{
text-decoration: none;
}
.body-wrapper{
min-height: 100%;
box-sizing: border-box;
padding: 64px 0 60px 0;
position: relative;
}
.banner-wrapper{
height: 250px;
background: url(/images/bg_sm.png) repeat;
background-color: #000;
}
.banner-container{
height: 100%;
background: url(/images/bg.png) no-repeat;
background-position: center;
background-size: auto 100%;
}
.menu-wrapper{
margin-top: 20px;
}
.menu-wrapper a{
text-decoration: none;
color: #333;
font-size: 16px;
box-sizing: border-box;
font-weight: 600;
padding: 10px 20px;
float: left;
transition: all .4s;
margin-right: 10px;
}
.menu-wrapper a:lash-child{
margin-right: 0;
}
.menu-wrapper a.active,
.menu-wrapper a:hover{
text-decoration: none;
color: #fff;
background-color: #6C62C7;
}
.list-container{
padding: 0;
}
.post-i-wrapper{
list-style: none;
width: 280px;
height: 240px;
float: left;
margin: 26px 26px 26px 0;
background-color: #fff;
cursor: pointer;
box-shadow: 0px 2px 6px #ccc;
transition: all .2s;
}
.post-i-wrapper .post-i-link{
width: 100%;
height: 100%;
text-decoration: none;
}
.post-i-wrapper:hover{
box-shadow: 0px 0px 10px #000;
}
.post-i-wrapper .cover{
width: 100%;
height: 113px;
overflow: hidden;
}
.post-i-wrapper .cover img{
width: 100%;
min-height: 100%;
}
.post-i-wrapper .title{
margin: 0;
font-size: 18px;
font-weight: 400;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
box-sizing: border-box;
padding: 20px 10px 10px 10px;
color: #000;
}
.post-i-wrapper .subtitle{
line-height: 22px;
text-indent: 28px;
font-size: 14px;
font-weight: 400;
max-height: 44px;
overflow: hidden;
box-sizing: border-box;
padding: 0 10px;
color: #666;
margin: 0;
}
.post-i-wrapper .time{
color: #999;
font-size: 12px;
padding: 10px;
display: block;
box-sizing: border-box;
text-align: left;
}
.post-banner{
height: 400px;
background-color: #6C62C7;
}
.post-banner-container{
height: 100%;
background: url(/images/bg_post.png) no-repeat;
background-position: center;
background-size: 100% auto;
}
.post-banner-container .title{
width: 100%;
text-align: center;
font-size: 28px;
line-height: 40px;
margin: 0;
margin-top: 160px;
font-weight: 500;
color: #fff;
}
.post-banner-container .tips {
text-align: center;
color: #D8D8F6;
}
.post-banner-container .tips a{
color: #D8D8F6;
text-decoration: none;
transition: all .4s;
}
.post-banner-container .tips a:hover{
color: #3A2BB4;
text-decoration: underline;
}
.post-content {
box-sizing: border-box;
padding: 20px 10px;
line-height: 1.8;
}
.post-content ul,
.post-content ol{
box-sizing: border-box;
padding: 20px 10px;
margin: 0;
}
.post-content table{
border-spacing: 0;
border-collapse: collapse;
-ms-word-break: break-all;
word-break: break-all;
}
.post-content table th{
background: #eee;
padding: 4px;
border: 1px solid #999;
}
.post-content table td{
border: 1px solid #999;
padding: 4px;
}
.post-content li{
font-weight: 500;
line-height: 2;
color: #333;
-ms-word-break: break-all;
word-break: break-all;
list-style-position: inside;
}
.post-content p{
-ms-word-break: break-all;
word-break: break-all;
}
.gitalk-wrapper{
padding: 20px 10px;
box-sizing: border-box;
}
.footer-wrapper{
width: 100%;
position: absolute;
bottom: 0;
left: 0;
height: 60px;
text-align: center;
background: #efefef;
box-sizing: border-box;
padding: 20px 0;
box-shadow: 0px 0px 2px #bbb;
}
.copyright{
font-size: 14px;
vertical-align: middle;
}
.btn-menu {
display: none;
float: right;
width: 64px;
height: 64px;
}
.btn-menu .inner {
width: 100%;
height: 100%;
overflow: hidden;
position: relative;
}
.btn-menu .inner .line {
top: 30px;
left: 22px;
position: absolute;
width: 20px;
height: 3px;
-webkit-transition: all .5s;
transition: all .5s;
background: #000;
}
.btn-menu .inner .line-01 {
margin-top: -7px;
}
.btn-menu .inner .line-03 {
margin-top: 7px;
}
.btn-close .line-01 {
-webkit-transform: rotate(45deg) translate3d(5px, 5px, 0);
transform: rotate(45deg) translate3d(5px, 5px, 0);
}
.btn-close .line-03 {
-webkit-transform: rotate(-45deg) translate3d(5px, -5px, 0);
transform: rotate(-45deg) translate3d(5px, -5px, 0);
}
.btn-close .line-02 {
-webkit-transform: translate3d(50px, 0, 0);
transform: translate3d(50px, 0, 0);
}
.mb-nav-wrapper{
position: absolute;
top: 64px;
z-index: 99;
background-color: #fff;
box-shadow: 0px 1px 2px #999;
display: none;
}
.mb-nav-wrapper.show{
display: block;
}
.mb-nav-container a{
display: block;
box-sizing: border-box;
padding: 10px;
line-height: 22px;
font-size: 14px;
text-decoration: none;
color: #000;
user-select: none;
}
.tips-top-wrapper{
width: 40px;
height: 40px;
background: #d4d4d4;
margin-bottom: .5rem;
cursor: pointer;
transition: all .4s;
border-radius: 2px;
box-shadow: 2px 2px 2px #000;
position: fixed;
bottom: 20px;
right: 20px;
z-index: 99;
}
.tips-top-wrapper:hover{
background: #000;
}
.tip-top-container{
display: block;
width: 100%;
height: 100%;
text-align: center;
line-height: 48px;
position: relative;
}
.tip-top-container span{
width: 2px;
height: 16px;
background: #fff;
display: block;
position: absolute;
}
.tip-top-container .l-bar{
transform: rotateZ(45deg);
-ms-transform: rotateZ(45deg);
-webkit-transform: rotateZ(45deg);
left: 14px;
top: 12px;
}
.tip-top-container .r-bar{
transform: rotateZ(-45deg);
-ms-transform: rotateZ(-45deg);
-webkit-transform: rotateZ(-45deg);
left: 25px;
top: 12px;
}
/****************************/
@media screen and (min-width: 901px) and (max-width: 1400px){
.container,
.sub-container{
width: 892px;
}
.post-i-wrapper{
margin: 26px 26px 26px 0;
}
.post-i-wrapper:nth-child(3n){
margin-right: 0;
}
}
@media screen and (min-width: 769px) and (max-width: 900px){
.container,
.sub-container{
width: 586px;
}
.post-i-wrapper{
margin: 26px 26px 26px 0;
}
.post-i-wrapper:nth-child(2n){
margin-right: 0;
}
.nav-wrapper a{
padding: 22px 12px;
}
.menu-wrapper a{
padding: 10px 8px;
}
.post-banner-container .title{
font-size: 24px;
}
}
@media screen and (max-width: 768px){
.container,
.sub-container{
width: 100%;
}
.list-container{
box-sizing: border-box;
padding: 10px 2px;
}
.post-i-wrapper{
height: 320px;
width: 100%;
margin: 26px 0;
}
.post-i-wrapper .cover{
height: 193px;
}
.logo .title{
padding: 0 10px;
}
.nav-wrapper{
display: none;
}
.logo{
width: 140px;
}
.btn-menu{
display: block;
}
.post-banner{
height: 200px;
}
.post-banner-container .title{
margin-top: 80px;
font-size: 18px;
line-height: 24px;
}
.post-banner-container .tips{
font-size: 12px;
}
.post-content{
font-size: 14px;
}
.menu-wrapper{
box-sizing: border-box;
padding: 0 10px;
}
.menu-wrapper a{
padding: 8px;
font-size: 14px;
}
}
@media screen and ( min-width:1401px){
.post-i-wrapper{
margin: 26px 26px 26px 0;
}
.post-i-wrapper:nth-child(4n){
margin-right: 0;
}
}

1211
css/gitalk.css Normal file

File diff suppressed because it is too large Load Diff

446
css/highlight.css Normal file
View File

@@ -0,0 +1,446 @@
html {
-ms-text-size-adjust: 100%;
}
article, aside, footer, header, nav, section {
display: block;
}
figcaption, figure, main {
display: block;
}
figure {
margin: 1em 40px;
}
hr {
overflow: visible;
}
a {
background-color: transparent;
-webkit-text-decoration-skip: object;
}
mark {
background-color: #ff0;
color: #000;
}
audio, video {
display: inline-block;
}
img {
border-style: none;
max-width: 100%;
}
svg:not(:root) {
overflow: hidden;
}
button, input {
overflow: visible;
}
button, select {
text-transform: none;
}
legend {
box-sizing: border-box;
color: inherit;
display: table;
max-width: 100%;
white-space: normal;
}
progress {
display: inline-block;
}
blockquote{
background: #ecf0f1;
margin: 0;
padding: 2px 10px;
font-style: italic;
box-sizing: border-box;
}
textarea {
overflow: auto;
}
[type="checkbox"], [type="radio"] {
box-sizing: border-box;
padding: 0;
}
details, menu {
display: list-item;
}
canvas {
display: inline-block;
}
[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
button, input, optgroup, select, textarea {
-webkit-appearance: none;
-webkit-tap-highlight-color: transparent;
}
a {
-webkit-tap-highlight-color: transparent;
}
/**
* Correct the style in all browsers.
*/
html {
font-family: "Helvetica Neue", Helvetica, STHeiTi, "Microsoft Yahei", sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
}
body {
margin: 0;
}
h1 {
font-size: 2em;
margin: 0.67em 0;
}
hr {
box-sizing: content-box;
height: 0;
}
pre {
overflow: scroll;
font-family: monospace, monospace;
font-size: 1em;
}
a:active, a:hover {
outline-width: 0;
}
abbr[title] {
border-bottom: none;
text-decoration: underline;
text-decoration: underline dotted;
}
b, strong {
font-weight: bolder;
}
code, kbd, samp {
font-family: monospace, monospace;
font-size: 1em;
}
dfn {
font-style: italic;
}
small {
font-size: 80%;
}
sub, sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
audio:not([controls]) {
display: none;
height: 0;
}
button, input, optgroup, select, textarea {
font-family: sans-serif;
font-size: 100%;
line-height: 1.15;
margin: 0;
}
button, html [type="button"], [type="reset"], [type="submit"] {
-webkit-appearance: button;
}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
legend {
padding: 0;
}
progress {
vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
details, summary {
display: list-item;
}
code,
pre {
font-size: 0.8em;
background-color: #ecf0f1;
font-family: 'Roboto Mono', Monaco, courier, monospace;
}
code {
padding: 0.1em 0.4em;
background-color: #ecf0f1;
border-radius: 3px;
}
pre .line {
min-height: 1em;
}
.highlight {
position: relative;
margin: 1em 0;
border-radius: 2px;
line-height: 1.1em;
background-color: #ecf0f1;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.highlight figcaption {
font-size: .9em;
padding: .4em;
border-bottom: 1px solid #bdc3c7;
}
.highlight table, .highlight tr, .highlight td {
width: 100%;
border-collapse: collapse;
padding: 0;
margin: 0;
}
.highlight .gutter {
display: none;
}
.highlight .code pre {
padding: 1.2em 1.4em;
line-height: 1.5em;
margin: 0;
}
.highlight.html .code:after, .highlight.js .code:after, .highlight.bash .code:after, .highlight.css .code:after, .highlight.scss .code:after, .highlight.diff .code:after, .highlight.java .code:after, .highlight.xml .code:after, .highlight.python .code:after, .highlight.json .code:after, .highlight.swift .code:after, .highlight.ruby .code:after, .highlight.perl .code:after, .highlight.php .code:after, .highlight.c .code:after, .highlight.cpp .code:after, .highlight.ts .code:after {
position: absolute;
top: 0;
right: 0;
color: #bdc3c7;
text-align: right;
font-size: 0.75em;
padding: 5px 10px 0;
line-height: 15px;
height: 15px;
font-weight: 600;
}
.highlight.html .code:after {
content: "HTML";
}
.highlight.js .code:after {
content: "JS";
}
.highlight.bash .code:after {
content: "BASH";
}
.highlight.css .code:after {
content: "CSS";
}
.highlight.scss .code:after {
content: "SCSS";
}
.highlight.diff .code:after {
content: "DIFF";
}
.highlight.java .code:after {
content: "JAVA";
}
.highlight.xml .code:after {
content: "XML";
}
.highlight.python .code:after {
content: "PYTHON";
}
.highlight.json .code:after {
content: "JSON";
}
.highlight.swift .code:after {
content: "SWIFT";
}
.highlight.ruby .code:after {
content: "RUBY";
}
.highlight.perl .code:after {
content: "PERL";
}
.highlight.php .code:after {
content: "PHP";
}
.highlight.c .code:after {
content: "C";
}
.highlight.java .code:after {
content: "JAVA";
}
.highlight.cpp .code:after {
content: "CPP";
}
.highlight.ts .code:after {
content: "TS";
}
.highlight.cpp .code:after {
content: 'C++';
}
pre {
color: #34495e;
}
pre .function .keyword,
pre .constant {
color: #3498db;
}
pre .keyword,
pre .attribute {
color: #e96900;
}
pre .number,
pre .literal {
color: #8e44ad;
}
pre .tag,
pre .tag .title,
pre .change,
pre .winutils,
pre .flow,
pre .lisp .title,
pre .clojure .built_in,
pre .nginx .title,
pre .tex .special {
color: #2980b9;
}
pre .symbol,
pre .symbol .string,
pre .value,
pre .regexp {
color: #1abc9c;
}
pre .title {
color: #2ecc71;
}
pre .tag .value,
pre .string,
pre .subst,
pre .haskell .type,
pre .preprocessor,
pre .ruby .class .parent,
pre .built_in,
pre .sql .aggregate,
pre .django .template_tag,
pre .django .variable,
pre .smalltalk .class,
pre .javadoc,
pre .django .filter .argument,
pre .smalltalk .localvars,
pre .smalltalk .array,
pre .attr_selector,
pre .pseudo,
pre .addition,
pre .stream,
pre .envvar,
pre .apache .tag,
pre .apache .cbracket,
pre .tex .command,
pre .prompt {
color: #1abc9c;
}
pre .comment,
pre .java .annotation,
pre .python .decorator,
pre .template_comment,
pre .pi,
pre .doctype,
pre .shebang,
pre .apache .sqbracket,
pre .tex .formula {
color: #95a5a6;
}
pre .deletion {
color: #c0392b;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}

166
fly/Python入门/index.html Normal file
View File

@@ -0,0 +1,166 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python入门,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python入门 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python入门 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="">全部文章</a><a href="/fly/Python入门/" class="active" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-tutorial-03/" class="wrapper post-i-link" title="Python正则15分钟入门">
<div class="wrapper cover">
<img src="/images/tutorial3.png" alt="Python正则15分钟入门">
</div>
<h3 class="wrapper title" title="Python正则15分钟入门">Python正则15分钟入门</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-02/" class="wrapper post-i-link" title="潘石屹我们为什么要学习Python语言">
<div class="wrapper cover">
<img src="/images/tutorial2.png" alt="潘石屹我们为什么要学习Python语言">
</div>
<h3 class="wrapper title" title="潘石屹我们为什么要学习Python语言">潘石屹我们为什么要学习Python语言</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-01/" class="wrapper post-i-link" title="你是如何自学Python的">
<div class="wrapper cover">
<img src="/images/tutorial1.png" alt="你是如何自学Python的">
</div>
<h3 class="wrapper title" title="你是如何自学Python的">你是如何自学Python的</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/about/" class="wrapper post-i-link" title="关于我们">
<div class="wrapper cover">
<img src="/images/flypython.png" alt="关于我们">
</div>
<h3 class="wrapper title" title="关于我们">关于我们</h3>
<p class="wrapper subtitle">
关于飞蟒Python
</p>
<div class="wrapper time">2018-01-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

View File

@@ -0,0 +1,140 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="Python新特性,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="Python新特性 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>Python新特性 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="active" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-new-02/" class="wrapper post-i-link" title="Python 3.8新特性——仅限位置形参">
<div class="wrapper cover">
<img src="/images/new-02.png" alt="Python 3.8新特性——仅限位置形参">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——仅限位置形参">Python 3.8新特性——仅限位置形参</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-new-01/" class="wrapper post-i-link" title="Python 3.8新特性——赋值表达式">
<div class="wrapper cover">
<img src="/images/new-01.png" alt="Python 3.8新特性——赋值表达式">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——赋值表达式">Python 3.8新特性——赋值表达式</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

View File

@@ -0,0 +1,179 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="自动化办公,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="自动化办公 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>自动化办公 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="active" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-oa-05/" class="wrapper post-i-link" title="Python读取PDF图片">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF图片">
</div>
<h3 class="wrapper title" title="Python读取PDF图片">Python读取PDF图片</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-05</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-04/" class="wrapper post-i-link" title="Python读取PDF文字和表格">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF文字和表格">
</div>
<h3 class="wrapper title" title="Python读取PDF文字和表格">Python读取PDF文字和表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-04</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-03/" class="wrapper post-i-link" title="Python批量转换任意文档格式">
<div class="wrapper cover">
<img src="/images/oa3.jpg" alt="Python批量转换任意文档格式">
</div>
<h3 class="wrapper title" title="Python批量转换任意文档格式">Python批量转换任意文档格式</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-02/" class="wrapper post-i-link" title="Python写入Word文档">
<div class="wrapper cover">
<img src="/images/oa2.jpg" alt="Python写入Word文档">
</div>
<h3 class="wrapper title" title="Python写入Word文档">Python写入Word文档</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-01/" class="wrapper post-i-link" title="Python写入Excel表格">
<div class="wrapper cover">
<img src="/images/oa1.jpg" alt="Python写入Excel表格">
</div>
<h3 class="wrapper title" title="Python写入Excel表格">Python写入Excel表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

View File

@@ -0,0 +1,127 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="自然语言处理,FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="自然语言处理 | FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>自然语言处理 | FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="active" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-nlp-01/" class="wrapper post-i-link" title="使用 Python 生成《红楼梦》词云">
<div class="wrapper cover">
<img src="/images/nlp1.png" alt="使用 Python 生成《红楼梦》词云">
</div>
<h3 class="wrapper title" title="使用 Python 生成《红楼梦》词云">使用 Python 生成《红楼梦》词云</h3>
<p class="wrapper subtitle">
Python自然语言处理教程
</p>
<div class="wrapper time">2019-03-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

BIN
images/bg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

BIN
images/bg_post.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

BIN
images/bg_sm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 161 KiB

BIN
images/default_cover.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
images/flypython.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

BIN
images/new-01.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
images/new-02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
images/nlp1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

BIN
images/oa1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
images/oa2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/oa3.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
images/oa4.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

BIN
images/tutorial1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
images/tutorial2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

BIN
images/tutorial3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
images/wechat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

270
index.html Normal file
View File

@@ -0,0 +1,270 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<head><meta name="generator" content="Hexo 3.9.0">
<!-- Title -->
<meta charset="utf-8">
<meta name="applicable-device" content="pc,mobile">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0, viewport-fit=cover">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<meta name="author" content="flypython">
<meta name="designer" content="flypython">
<meta name="keywords" content="FlyPython - 专业的Python学习社区,flypython, 飞蟒飞蟒PythonPython入门Python自动化Python日报">
<meta property="og:title" content="FlyPython - 专业的Python学习社区">
<meta property="og:site_name" content="http://www.flypython.com">
<meta property="og:description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="description" content="FlyPython是提供一站式Python编程学习的组织我们致力于为用户提供高效有趣的学习环境打造专注于Python的中文学习社区">
<meta name="rating" content="general">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="robots" content="index, follow">
<link rel="icon" href="/images/favicon.ico">
<title>FlyPython - 专业的Python学习社区</title>
<link rel="stylesheet" href="/css/f25.css">
<link rel="stylesheet" href="/css/highlight.css">
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-147288599-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-147288599-1');
</script>
</head>
</head>
<body>
<header class="wrapper header-wrapper">
<div class="container header-nav-wrapper">
<div class="logo"><a href="/" title="FlyPython - 专业的Python学习社区"><h1 class="title">FlyPython</h1></a></div>
<nav class="nav-wrapper">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
<span class="btn-menu" id="J_header_menu">
<div class="inner">
<span class="line line-01"></span>
<span class="line line-02"></span>
<span class="line line-03"></span>
</div>
</span>
<div class="wrapper mb-nav-wrapper" id="J_header_menu_list">
<nav class="wrapper mb-nav-container">
<a href="https://flypython.com/python" title="飞蟒微课堂">飞蟒微课堂</a>
<a href="https://flypython.com/flypython_daily" title="Python日报">Python日报</a>
<a href="https://flypython.com/PyCon/" title="PyCon">PyCon</a>
<a href="https://github.com/flypythoncom" title="Github">Github</a>
<a href="/article/about" title="关于">关于</a>
</nav>
</div>
</div>
</header>
<section class="body-wrapper">
<section class="banner-wrapper">
<div class="container banner-container"></div>
</section>
<section class="wrapper menu-wrapper">
<nav class="container">
<a href="/" class="active">全部文章</a><a href="/fly/Python入门/" class="" title="Python入门">Python入门</a><a href="/fly/Python新特性/" class="" title="Python新特性">Python新特性</a><a href="/fly/自然语言处理/" class="" title="自然语言处理">自然语言处理</a><a href="/fly/自动化办公/" class="" title="自动化办公">自动化办公</a>
</nav>
</section>
<div class="wrapper index-wrapper">
<ul class="container list-container">
<li class="post-i-wrapper">
<a href="/article/python-new-02/" class="wrapper post-i-link" title="Python 3.8新特性——仅限位置形参">
<div class="wrapper cover">
<img src="/images/new-02.png" alt="Python 3.8新特性——仅限位置形参">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——仅限位置形参">Python 3.8新特性——仅限位置形参</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-new-01/" class="wrapper post-i-link" title="Python 3.8新特性——赋值表达式">
<div class="wrapper cover">
<img src="/images/new-01.png" alt="Python 3.8新特性——赋值表达式">
</div>
<h3 class="wrapper title" title="Python 3.8新特性——赋值表达式">Python 3.8新特性——赋值表达式</h3>
<p class="wrapper subtitle">
介绍Python语言新的特性
</p>
<div class="wrapper time">2019-04-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-nlp-01/" class="wrapper post-i-link" title="使用 Python 生成《红楼梦》词云">
<div class="wrapper cover">
<img src="/images/nlp1.png" alt="使用 Python 生成《红楼梦》词云">
</div>
<h3 class="wrapper title" title="使用 Python 生成《红楼梦》词云">使用 Python 生成《红楼梦》词云</h3>
<p class="wrapper subtitle">
Python自然语言处理教程
</p>
<div class="wrapper time">2019-03-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-03/" class="wrapper post-i-link" title="Python正则15分钟入门">
<div class="wrapper cover">
<img src="/images/tutorial3.png" alt="Python正则15分钟入门">
</div>
<h3 class="wrapper title" title="Python正则15分钟入门">Python正则15分钟入门</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-02/" class="wrapper post-i-link" title="潘石屹我们为什么要学习Python语言">
<div class="wrapper cover">
<img src="/images/tutorial2.png" alt="潘石屹我们为什么要学习Python语言">
</div>
<h3 class="wrapper title" title="潘石屹我们为什么要学习Python语言">潘石屹我们为什么要学习Python语言</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-tutorial-01/" class="wrapper post-i-link" title="你是如何自学Python的">
<div class="wrapper cover">
<img src="/images/tutorial1.png" alt="你是如何自学Python的">
</div>
<h3 class="wrapper title" title="你是如何自学Python的">你是如何自学Python的</h3>
<p class="wrapper subtitle">
Python入门教程
</p>
<div class="wrapper time">2019-02-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-05/" class="wrapper post-i-link" title="Python读取PDF图片">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF图片">
</div>
<h3 class="wrapper title" title="Python读取PDF图片">Python读取PDF图片</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-05</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-04/" class="wrapper post-i-link" title="Python读取PDF文字和表格">
<div class="wrapper cover">
<img src="/images/oa4.jpg" alt="Python读取PDF文字和表格">
</div>
<h3 class="wrapper title" title="Python读取PDF文字和表格">Python读取PDF文字和表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-04</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-03/" class="wrapper post-i-link" title="Python批量转换任意文档格式">
<div class="wrapper cover">
<img src="/images/oa3.jpg" alt="Python批量转换任意文档格式">
</div>
<h3 class="wrapper title" title="Python批量转换任意文档格式">Python批量转换任意文档格式</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-03</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-02/" class="wrapper post-i-link" title="Python写入Word文档">
<div class="wrapper cover">
<img src="/images/oa2.jpg" alt="Python写入Word文档">
</div>
<h3 class="wrapper title" title="Python写入Word文档">Python写入Word文档</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-02</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/python-oa-01/" class="wrapper post-i-link" title="Python写入Excel表格">
<div class="wrapper cover">
<img src="/images/oa1.jpg" alt="Python写入Excel表格">
</div>
<h3 class="wrapper title" title="Python写入Excel表格">Python写入Excel表格</h3>
<p class="wrapper subtitle">
极简Python自动化办公系列
</p>
<div class="wrapper time">2019-01-01</div>
</a>
</li>
<li class="post-i-wrapper">
<a href="/article/about/" class="wrapper post-i-link" title="关于我们">
<div class="wrapper cover">
<img src="/images/flypython.png" alt="关于我们">
</div>
<h3 class="wrapper title" title="关于我们">关于我们</h3>
<p class="wrapper subtitle">
关于飞蟒Python
</p>
<div class="wrapper time">2018-01-01</div>
</a>
</li>
</ul>
</div>
<div class="tips-top-wrapper">
<span class="tip-top-container" onclick="scrollToWindowTop()">
<span class="l-bar"></span>
<span class="r-bar"></span>
</span>
</div>
<footer class="wrapper footer-wrapper">
<div class="container"><span class="copyright">&copy; 2020 FlyPython . All Rights Reserved.</span></div>
</footer>
</section>
<script src="/js/f25.js"></script>
</body>
</html>

66
js/f25.js Normal file
View File

@@ -0,0 +1,66 @@
/**
* [删除ClassName]
* @param {*} element
* @param {*} className
*/
function removeClassName(element , className){
if ( !hasClassName(element , className) ){
return element;
}
element.className = ' ' + element.className.trim() + ' ';
element.className = element.className.replace(' ' + className + ' ' , ' ').trim();
return element;
}
/**
* [添加className]
* @param {*} element
* @param {*} className
*/
function addClassName(element , className){
if ( hasClassName(element , className) ){
return element;
}
element.className = element.className.trim() + ' ' + className.trim();
return element;
}
/**
* [判断是否包含对应的className]
* @param {*} element
* @param {*} className
*/
function hasClassName(element , className){
if ( (' ' + element.className.trim() + ' ').indexOf(' ' + className.trim() + ' ') >= 0 ){
return true;
}
return false;
}
/**
* [scrollToWindowTop 返回顶部]
* @return {[type]} [description]
*/
function scrollToWindowTop(){
return window.scroll(0,0);
}
var closeClassName = 'btn-close';
var showClassName = 'show';
var headerMenu = document.querySelector('#J_header_menu');
var headerMenulist = document.querySelector('#J_header_menu_list');
if ( headerMenu && headerMenulist ){
//h5菜单栏展示
headerMenu.addEventListener('click' , (event)=>{
event.preventDefault();
event.stopPropagation();
if ( hasClassName(headerMenu , closeClassName) ){
removeClassName(headerMenulist , showClassName);
removeClassName(headerMenu , closeClassName);
}else{
addClassName(headerMenulist , showClassName);
addClassName(headerMenu , closeClassName);
}
});
}

20
js/gitalk.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File