在操作文件的时候,我们肯定是要使用到 os 模块的,但是 os 模块里面还有 path 模块,这个模块主要是用来获取文件的属性的。这篇博客来分享一下 path 模块的函数,希望对学习 Python 的小伙伴有所帮助。
创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为巴东企业提供专业的做网站、成都网站制作,巴东网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。
返回绝对路径:
返回文件名:
返回list(多个路径)中,所有path共有的最长的路径:
返回文件路径:
路径存在则返回True,路径损坏返回False:
路径存在则返回True,路径损坏也返回True:
把path中包含的" "和" user"转换成用户目录:
根据环境变量的值替换path中包含的" {name}":
返回最近访问时间(浮点型秒数):
返回最近文件修改时间:
返回文件 path 创建时间:
返回文件大小,如果文件不存在就返回错误:
判断是否为绝对路径:
判断路径是否为文件:
判断路径是否为目录:
判断路径是否为链接:
判断路径是否为挂载点:
把目录和文件名合成一个路径:
转换path的大小写和斜杠:
规范path字符串形式:
返回path的真实路径:
从start开始计算相对路径:
判断目录或文件是否相同:
判断fp1和fp2是否指向同一文件:
判断stat tuple stat1和stat2是否指向同一个文件:
把路径分割成 dirname 和 basename,返回一个元组:
一般用在 windows 下,返回驱动器名和路径组成的元组:
分割路径中的文件名与拓展名:
把路径分割为加载点与文件:
遍历path,进入每个目录都调用visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有文件名,args则为walk的第三个参数:
设置是否支持unicode路径名:
推荐Full Stack Python 有各种python资源汇总,从基础入门到各种框架web应用开发和部署,再到高级的ORM、Docker都有。以下是Full Stack Python 上总结的一些教程,我拙劣的翻译了以下,并调整(调整顺序并删了部分内容)了一下:
1、无开发经验,初学python
如果你不会其他语言,python是你的第一门语言:
A Byte of Python (简明python教程,这个有中文版简明 Python 教程)是非常好的入门教程。
Learn Python the Hard Way (Zed Shaw的免费教程,个人强烈推荐)
Python, Django and Flask教程: Real Python (收费,需购买)
short 5 minute video 解释了为什么你的出发点应该是要完成什么项目,或者解决什么问题,而不是为了学一门语言而去学一门语言。
Dive into Python 3 是一本开源的python教程,提供HTML和PDF版。
Code Academy 有一个为纯新手准备的 Python track 。
Introduction to Programming with Python 介绍了基本语法和控制结构等,提供了大量代码示例。
O'Reilly 的书 Think Python: How to Think Like a Computer Scientist 是非常好的入门教材。
Python Practice Book 是一本python练习的书,帮你掌握python基本语法。
想通过做实际项目来学编程?看看这个 this list of 5 programming project for Python beginners(5个适合python初学者的编程项目)。
Reddit的创造者之一写了一个教程,如何用python构建一个博客网站(use Python to build a blog.),使非常好的web编程入门。
The fullstack python的作者写了一篇关于如何学习python的文章learning Python 。
2、有开发经验 ,初学Python
Learn Python in y minutes ,让你在几分钟内快速上手,有个大概了解。
Python for you and me , python的语法,语言的主要结构等,还包含来Flask Web App的教程。
The Hitchhiker’s Guide to Python
How to Develop Quality Python Code ,如何开发高质量的python代码
3、进阶
The Python Ecosystem: An Introduction , 关于python生态系统,虚拟机、python包管理器pip、虚拟环境virtualenv、还有很多进阶主题
The Python Subreddit ,就是python的reddit节点(相当于中国的贴吧),是一个活跃的社区,可以交流讨论,解决问题等。
Good to Great Python Reads ,收集进阶和高级python文章,讲了很多细微差异和python语言本身的细节。
博客 Free Python Tips ,有很多python和python生态系统的文章。
Python Books ,有一些免费的Python, Django, 数据分析等方面的书。
Python IAQ: Infrequently Asked Questions ,关于python 经常问到的问题。
4、视频,屏幕录像,演示文稿等
一些技术交流会议的视频录像: best Python videos
5、python的包
awesome-python ,收集了python各种非常好用非常酷的包,确实非常awesome,让作者相见恨晚( I wish I had this page when I was just getting started)。
easy-python
6、 播客(Podcasts)
Talk Python to Me , 关注使用python的人们和组织,每一期都会邀请一些开发者谈谈他们的工作等。
Podcast.__init__ ,关于python和让python更牛B的人们。
7、新闻资讯(可订阅)
Python Weekly , 最新的python文章、视频、项目、资讯 。
PyCoder's Weekly ,和python weekly类似。
Import Python
一 新建工程
命令: django-admin startproject mysite
# 有的需要输入: django-admin.py startproject mysite
这是你会发现在当前目录下,生成了一个文件夹mysite,其结构为:
mysite/
manage.py
mysite/
__init.py
settings.py
urls.py
其中:
manage.py:一个命令行工具,通过它可以调用Django shell和数据库等。键入python manage.py -h,查看它的相关功能。
__init__.py:让 Python 把该目录当成一个开发包 (即一组模块)所需的文件。这是一个空文件,一般你不需要修改它。
settings.py:项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
urls.py:django项目的URL设置。 可视其为你的django网站的目录, 负责把URL模式映射到应用程序。
wsgi.py: 服务器网关接口(Python Web Server Gateway Interface),web服务器和web服务程序或者框架之间的一种简单而通用的接口。
二 运行服务器
mysite(上一层)目录下执行命令:python manager.py runserver
如果出现报错:
XXX
You have unapplied migrations; your app may not work properly until
they are applied. Run 'python manage.py migrate' to apply them.
XXX
很明显,已经告诉我们怎么做了,那就执行一下:python manage.py migrate
话说这个migrate是干什么的呢,它可以让我们在修改Model后可以在不影响现有数据的前提下重建表结构。
可以看到如下输出:
Operations to perform:
Apply all migrations: admin, contenttypes, auth, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
这是你会发现在上一层的mysite目录下面多了一个文件dg.sqlite3
(或者在settings.py里加上这么一句: TEST_RUNNER = 'django.test.runner.DiscoverRunner' )
然后重新运行服务器就可以了,有如下输出:
System check identified no issues (0 silenced).
October 23, 2014 - 01:20:03
Django version 1.7.1, using settings 'mysite.settings'
Starting development server at
则说明运行服务器成功。
匿名函数:使用lambda创建的函数,所谓匿名,意即不再使用def语句这样标准的形式定义一个函数。
好处:
1、使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。
2、对于一些抽象的,不会别的地方再复用的函数,有时候给函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
3、使用lambda在某些时候让代码更容易理解。了解更多python匿名函数相关知识,可以来老男孩教育。
应用场景:经常与一些内置函数相结合使用,比如说map()、filter()、sorted()、reduce()等。
表达式格式:lambda 参数列表:lambda体