`

七Python异常和文件处理(二)

阅读更多

1. for循环

    Python也有for循环,到现在还未看到它们的原因是:Python在其他方面表现出色,通常你不需要它们。

    其它大多数语言没有像Python一样强大的list数据类型,所有你需要亲自做很多事情,指定开始、结束和步长来定义一定范围的整数或字符或其他可重复的实体。但在Python中,for循环简单地在一个列表上循环。   

#-------------------------------------------------------------------------------
# coding:        utf-8
# Purpose:for循环
#
# Author:      zdk
#
# Created:     25/02/2013
# Copyright:   (c) zdk 2013
#-------------------------------------------------------------------------------

if __name__ == '__main__':
    li = ['a','b','c']
    for s in li:
        print(s)

    print ("\n".join(li))

    for i in range(5):
        print(i)        # 0 1 2 3 4

    for i in range(len(li)):
        print(li[i])

    (1)for s in li: for循环的语法同list解析相似。li是一个list,而s将从第一个元素开始依次接收每个元素。

    (2)像if语句或其他任意缩进块,for循环可以包含任意数目的代码行。

    (3)range(n)生成一个从小于n的大于或等于0的整数的list,通过它可以实现传统风格的for循环的list的遍历 

    for循环不仅仅用于简单计数,它们可以遍历任何类型的东西。下面就是一个for循环遍历dictionary的例子。   

    import os
    for k,v in os.environ.items():
        print("%s=%s" %(k,v))

    print("\n".join(["%s=%s" %(k,v) for k,v in os.environ.items()]))

     (1)os.environ  返回系统上所定义的环境变量的dictionary,os.environ.items()返回一个tuple的list:[(key1,value1),(key2,value2)……]。for循环对这个list进行遍历。

     (2)k,v in os.environ.items() 即使用了多变量赋值。

     

2. 使用 sys.modules

    与其他任何Python的东西一样,模块也是对象,只要导入了,总可以用全局dictionary sys.modules来得到一个模块的引用。   

 import sys
    from fileinfo import FileInfo
    print("\n".join(sys.modules.keys()))
    print(sys.modules[FileInfo.__module__]) #<module 'fileinfo' from 'D:\编程\python\codes\fileinfo.py'>

    (1)sys.modules[FileInfo.__module__],每个Python类都有一个内置的属性__module__,它定义了这个类模块的名字,将它与sys.modules字典符合使用,你可以得到定义了某个类的模块的引用。

 

3. 与目录共事

    os.path模块下有几个操作文件与目录的函数。这里我们看看如何操作目录名和列出一个目录的内容。  

#-------------------------------------------------------------------------------
# coding:        utf-8
# Purpose:与目录共事
#
# Author:      zdk
#
# Created:     25/02/2013
# Copyright:   (c) zdk 2013
#-------------------------------------------------------------------------------

import os

if __name__ == '__main__':
    print(os.path)
    print(os.path.join("D:\\","tes.log")) #D:\tes.log
    print(os.path.expanduser("~")) # C:\Users\zdk
    print(os.path.join(os.path.expanduser("~"),"txl.txt")) #C:\Users\zdk\txl.txt

    print(os.path.split("d:\\test.log")) #('d:\\', 'test.log')
    print(os.path.splitext("test.log")) #('test', '.log')

    print(os.listdir(os.path.expanduser("~"))) # 列出跟目录下的所有文件和目录
    print("==================")
    print([f for f in os.listdir("c:\\")
        if os.path.isfile(os.path.join("c:\\",f))]) #列出C盘下的所有文件
    print("==================")
    print([f for f in os.listdir("c:\\")
        if os.path.isdir(os.path.join("c:\\",f))]) #列出C盘下的所有目录

    (1)os.path是一个模块的引用;join函数把一个或多个部分路径名连接成一个。  

    (2)expanduser将使用~来表示当前用户根目录。  

    (3)os.path.split("d:\\test.log"),spilt函数对全路径进行分割,返回一个包含路径和文件名的tuple。  

    (4)spliext函数可以对文件名进行分割,返回一个包含了文件名和扩展名的tuple。  

    (5)listdir函数接收一个路径名,并返回那个目录的内容的list。  

    (6)listdir同时返回文件和文件夹,你可以使用列表过滤和os.path模块的isfile函数过滤文件、isdir函数过滤目录。 

    NOTE:

        只要有可能,你就应该使用在os和os.path下的函数进行文件、目录和路径的操作。

    

import glob
    print(glob.glob("c:\\*.txt")) #匹配c盘下的所有txt文件
    print(glob.glob("c:\\*\\*.txt")) #匹配c盘及其所有子目录下的txt文件

   (1)glob可以使用正则来进行更加强大的匹配。 

 

 

 

 

 

 

分享到:
评论

相关推荐

    python 实验九 文件与异常

    在Python编程语言中,文件操作和异常处理是两个至关重要的概念。它们对于任何软件开发者来说都是基础且实用的技能。本实验将引导你深入理解如何在Python中进行文件的读写操作,以及如何有效地处理程序运行时可能出现...

    Python异常和错误实践手册 新手必备

    Python 中引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。下面是 Python 中内建的异常类的继承层次: 1. Exception:所有异常的基类 2. StopIteration...

    文件处理和异常处理【Python一周入门教程7】

    文件处理和异常处理【Python一周入门教程7】

    python的异常处理.rar

    在Python中,异常是通过`try/except`块来捕获和处理的,而`else`和`finally`子句则提供了更高级别的控制和清理机制。下面将详细探讨这些概念。 首先,`try`块是用来包含可能抛出异常的代码的。当`try`块中的代码...

    15.python异常处理1

    Python 是一种高级编程语言,它提供了一个强大的异常处理机制,以便开发者能够更好地处理程序中的错误和异常。在 Python 中,异常是一种特殊的对象,它可以在程序执行过程中抛出,以便通知开发者出现了某种错误。 ...

    Python:Python异常处理与调试

    通过以上示例,我们可以看到Python异常处理的基本原理和操作。异常处理不仅增强了程序的健壮性,还使得错误信息的传递更加清晰和可控。在实际编程中,合理使用异常处理可以显著提高代码的质量和可维护性。 #### 三...

    Python异常处理详解:掌握错误处理的艺术

    Python提供了一套完整的异常处理机制,允许开发者捕获和处理程序运行时发生的错误。通过合理地使用异常处理,可以提高程序的用户体验和错误容忍度。本文将详细介绍Python中的异常处理机制,包括异常的捕获、处理、抛...

    Python中的文件操作和异常处理.docx

    在Python编程中,文件操作和异常处理是两个不可或缺的核心概念。了解并熟练掌握这两个主题,可以使你的代码更加高效且易于维护。以下是对这两个概念的详细解释。 ### 文件操作 Python提供了丰富的内置函数来处理...

    python的相关文件操作练习

    在Python编程语言中,文件操作是一项基础且至关重要的技能,尤其对于数据处理、日志记录以及文件存储等应用场景。在“python的相关文件操作练习”中,我们将探讨如何使用Python进行文件的读取、写入、追加以及其他...

    Python实现读取Properties配置文件的方法

    当然,如果你的项目依赖较多的配置文件操作,可能需要考虑使用更高级的库,如`configparser`(Python 3)或`ConfigObj`,它们提供了更多的特性和错误处理机制。不过,对于基本的需求,上述自定义的`Properties`类...

    python文件处理与异常

    python中文件处理与异常处理简单的知识介绍。

    Python文件操作和异常处理.docx

    在文件处理中,它可能用于找出最长的行。 - `enumerate()`:这个函数将一个可遍历的数据对象(如列表)组合成一个索引序列,同时列出数据和数据的下标。在读取文件时,它可以用于跟踪每一行的索引和内容。 2. **...

    第12章 python文件存取和异常处理-python基础,快速入门.pptx

    - 常见的Python异常有`IOError`(输入/输出错误)、`ValueError`(值错误)、`TypeError`(类型错误)等,学习Python时,了解这些常见异常的含义和处理方式非常重要。 4. **其他文件操作** - `readline()`方法...

    python异常和文件处理机制详解

    ### 文件处理机制 在Python中,文件操作是非常常见的任务之一。通过`open`函数可以打开文件,并进行读写操作。 #### 三、文件操作的基本步骤 1. **打开文件**:使用`open()`函数。 2. **读写文件**:使用文件对象...

    python:socket传输大文件示例

    - 在文件传输过程中可能会遇到网络中断等问题,因此需要捕获并处理可能的异常,例如在接收文件数据时,如果没有接收到数据,可能是客户端已经关闭连接。 7. **线程使用**: - 服务器端为每个新连接创建一个新线程...

    【Python】文件读写操作代码

    在Python编程中,文件操作是不可或缺的一部分,它...在实际开发中,可以根据具体需求灵活运用这些知识,实现各种文件处理功能。在编写源码时,务必注意文件的打开、关闭,以及异常处理,以确保程序的稳定性和安全性。

    python定时备份文件

    在IT行业中,Python是一种强大的脚本...综上所述,Python的定时备份文件涉及到定时任务调度、文件压缩、文件遍历以及异常处理等多个知识点,通过合理利用Python的相关库和工具,我们可以构建出高效可靠的文件备份系统。

    python异常处理学习.docx

    Python 异常处理是 Python 编程语言中的一种错误处理机制,用于捕捉和处理程序中出现的异常情况。Python 中的异常处理可以分为两种:try-except 语句和 try-finally 语句。 try-except 语句的基本语法是:try:执行...

    Python第十章-文件和异常.pdf

    在Python编程中,文件处理和异常处理是两个关键的领域,它们对于开发高效、稳定、用户友好的程序至关重要。在“Python第十章-文件和异常”这一章节中,你将深入学习如何操作文件以处理大量数据,以及如何通过错误...

    Python二级等级考试电子教案 第7章 文件和数据格式化.pdf

    Python提供了异常处理机制来捕捉和处理这些错误,如使用try...except语句来捕获并处理FileNotFoundError和IOError等异常。 8. 代码示例与练习:文档提供了多个代码示例,通过实际的Python代码来演示文件的打开、...

Global site tag (gtag.js) - Google Analytics