Python编程基础:12个关键技巧

1 下载量 156 浏览量 更新于2024-08-30 收藏 93KB PDF 举报
"这篇文章主要介绍了Python编程中12个常用的基础知识,包括正则表达式替换、遍历目录、列表排序与去重、字典操作、类型转换、时间处理、命令行参数解析、打印格式化、进制转换、调用系统命令以及文件的读写。" 1. 正则表达式替换 在Python中,可以使用`re`模块进行正则表达式的操作。例如,要将字符串`line`中所有出现的`overview.gif`替换为其他字符串,可以使用`re.sub()`函数。匹配到的数据可以通过传递给替换函数的参数引用,如`match.group(1)`。 2. 遍历目录方法 Python的`os`模块提供了`walk()`函数,可以递归遍历目录及其子目录。例如,如果需要找到`/data`目录下所有`.t2t`扩展名的文件,可以使用`os.walk()`,并将不需要的子目录(如`.svn`)排除在外。 ```python import os file_list = [] root_dir = '/data' for root, sub_folders, files in os.walk(root_dir): if '.svn' in sub_folders: sub_folders.remove('.svn') for file in files: if file.find('.t2t') != -1: file_dir_path = os.path.join(root, file) file_list.append(file_dir_path) ``` 3. 列表按列排序 当列表的元素是元组时,可以根据元组的某一列进行排序。使用`sorted()`函数结合`lambda`表达式实现。例如,按元组的第二列和第三列降序排序: ```python a = [('2011-03-17', '2.26', 6429600, '0.0'), ('2011-03-16', '2.26', 5432100, '0.1')] sorted_a = sorted(a, key=lambda x: (x[1], -x[2])) ``` 4. 字典操作 字典可以通过`keys()`, `values()`, `items()`获取键、值或键值对。若需排序字典,需先转换成列表,因为字典本身是无序的。例如,根据值进行排序: ```python b = {'key1': 3, 'key2': 1, 'key3': 2} sorted_b = dict(sorted(b.items(), key=lambda item: item[1])) ``` 5. 字典、列表、字符串互转 可以通过`dict()`, `list()`, `str()`函数进行类型转换。例如,将列表转换成字典: ```python c = ['key1', 'value1', 'key2', 'value2'] d = dict(zip(c[::2], c[1::2])) ``` 6. 时间对象操作 使用`datetime`模块处理日期和时间,如`datetime.now()`, `datetime.strptime()`, `datetime.strftime()`等。 7. 命令行参数解析 Python的`getopt`模块可以解析命令行参数,例如: ```python import getopt opts, args = getopt.getopt(sys.argv[1:], 'ho:', ['help', 'output=']) ``` 8. print格式化输出 `print()`函数支持格式化输出,如`print(f"Name: {name}, Age: {age}")`。 9. 进制转换 使用内置的`bin()`, `oct()`, `hex()`进行二进制、八进制、十六进制转换。 10. 调用系统命令或脚本 `os.system()`或`subprocess`模块可以调用系统命令,如`os.system('ls -l')`。 11. Python读写文件 `open()`函数用于打开文件,`read()`, `write()`, `close()`等方法进行读写操作。 12. 文件读写示例 读取文件: ```python with open('example.txt', 'r') as f: content = f.read() ``` 写入文件: ```python with open('example.txt', 'w') as f: f.write('Hello, World!') ``` 这些基础知识构成了Python编程的基本工具箱,对于日常的编程工作非常实用。理解并掌握它们,能帮助开发者更高效地编写Python代码。