Python编程基础:12个关键技巧
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代码。
2023-10-13 上传
2023-06-12 上传
2021-02-15 上传
2024-09-28 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-25 上传
weixin_38659648
- 粉丝: 4
- 资源: 902
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践