IO编程



Evernote Export





body, td {
font-family: 微软雅黑;
font-size: 10pt;
}



Edit
                <div style="line-height: 1.6;">

python学习笔记 python 编程

IO编程

文件读写

  • 在Python中,文件读写是通过open()函数打开的文件对象完成的。使用with语句操作文件IO是个好习惯。还有编码,文件格式之类的小细节。在使用文件后必须关闭,不然写的时候不能摆正内存的数据全部写入文件中。

Sring IO 和Byte IO

  • StringIO顾名思义就是在内存中读写str。要把str写入StringIO,我们需要先创建一个StringIO,然后,像文件一样写入即可。getvalue()方法用于获得写入后的str
  • 如果要操作二进制数据,就需要使用BytesIOBytesIO实现了在内存中读写bytes,我们创建一个BytesIO,然后写入一些bytes

操作文件和目录

  • Python的os模块封装了操作系统的目录和文件操作,要注意这些函数有的在os模块中,有的在os.path模块中。
  • [filename for t in os.walk(search_dir) for filename in t[2] if search_str in os.path.splitext(filename)[0]]编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。

序列化

  • 我们把变量从内存中变成可存储或传输的过程称之为序列化,在Python中叫pickling,在其他语言中也被称之为serialization,marshalling,flattening等等,都是一个意思。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输到别的机器上。反过来,把变量内容从序列化的对象重新读到内存里称之为反序列化,即unpickling。Python提供了pickle模块来实现序列化。
  • Json:如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为JSON,因为JSON表示出来就是一个字符串,可以被所有语言读取,也可以方便地存储到磁盘或者通过网络传输。JSON不仅是标准格式,并且比XML更快,而且可以直接在Web页面中读取,非常方便。
  • Python语言特定的序列化模块是pickle,但如果要把序列化搞得更通用、更符合Web标准,就可以使用json模块。`
  • json模块的dumps()loads()函数是定义得非常好的接口的典范。当我们使用时,只需要传入一个必须的参数。但是,当默认的序列化或反序列机制不满足我们的要求时,我们又可以传入更多的参数来定制序列化或反序列化的规则,既做到了接口简单易用,又做到了充分的扩展性和灵活性。

@%28python%u5B66%u4E60%u7B14%u8BB0%29%5Bpython%7C%u7F16%u7A0B%5D%0A%0A%23%23%20IO%u7F16%u7A0B%0A%0A**%u6587%u4EF6%u8BFB%u5199**%0A-%20%u5728Python%u4E2D%uFF0C%u6587%u4EF6%u8BFB%u5199%u662F%u901A%u8FC7%60open%28%29%60%u51FD%u6570%u6253%u5F00%u7684%u6587%u4EF6%u5BF9%u8C61%u5B8C%u6210%u7684%u3002%u4F7F%u7528%60with%60%u8BED%u53E5%u64CD%u4F5C%u6587%u4EF6IO%u662F%u4E2A%u597D%u4E60%u60EF%u3002%u8FD8%u6709%u7F16%u7801%uFF0C%u6587%u4EF6%u683C%u5F0F%u4E4B%u7C7B%u7684%u5C0F%u7EC6%u8282%u3002%u5728%u4F7F%u7528%u6587%u4EF6%u540E%u5FC5%u987B%u5173%u95ED%uFF0C%u4E0D%u7136%u5199%u7684%u65F6%u5019%u4E0D%u80FD%u6446%u6B63%u5185%u5B58%u7684%u6570%u636E%u5168%u90E8%u5199%u5165%u6587%u4EF6%u4E2D%u3002%0A%0A**Sring%20IO%20%u548CByte%20IO**%0A-%20%60StringIO%60%u987E%u540D%u601D%u4E49%u5C31%u662F%u5728%u5185%u5B58%u4E2D%u8BFB%u5199%60str%60%u3002%u8981%u628A%60str%60%u5199%u5165%60StringIO%60%uFF0C%u6211%u4EEC%u9700%u8981%u5148%u521B%u5EFA%u4E00%u4E2A%60StringIO%60%uFF0C%u7136%u540E%uFF0C%u50CF%u6587%u4EF6%u4E00%u6837%u5199%u5165%u5373%u53EF%u3002%60getvalue%28%29%60%u65B9%u6CD5%u7528%u4E8E%u83B7%u5F97%u5199%u5165%u540E%u7684%60str%60%u3002%0A-%20%u5982%u679C%u8981%u64CD%u4F5C%u4E8C%u8FDB%u5236%u6570%u636E%uFF0C%u5C31%u9700%u8981%u4F7F%u7528%60BytesIO%60%u3002%60BytesIO%60%u5B9E%u73B0%u4E86%u5728%u5185%u5B58%u4E2D%u8BFB%u5199%60bytes%60%uFF0C%u6211%u4EEC%u521B%u5EFA%u4E00%u4E2A%60BytesIO%60%uFF0C%u7136%u540E%u5199%u5165%u4E00%u4E9B%60bytes%60%u3002%0A%0A**%u64CD%u4F5C%u6587%u4EF6%u548C%u76EE%u5F55**%0A-%20Python%u7684os%u6A21%u5757%u5C01%u88C5%u4E86%u64CD%u4F5C%u7CFB%u7EDF%u7684%u76EE%u5F55%u548C%u6587%u4EF6%u64CD%u4F5C%uFF0C%u8981%u6CE8%u610F%u8FD9%u4E9B%u51FD%u6570%u6709%u7684%u5728os%u6A21%u5757%u4E2D%uFF0C%u6709%u7684%u5728os.path%u6A21%u5757%u4E2D%u3002%0A-%20%60%5Bfilename%20for%20t%20in%20os.walk%28search_dir%29%20for%20filename%20in%20t%5B2%5D%20if%20search_str%20in%20os.path.splitext%28filename%29%5B0%5D%5D%60%u7F16%u5199%u4E00%u4E2A%u7A0B%u5E8F%uFF0C%u80FD%u5728%u5F53%u524D%u76EE%u5F55%u4EE5%u53CA%u5F53%u524D%u76EE%u5F55%u7684%u6240%u6709%u5B50%u76EE%u5F55%u4E0B%u67E5%u627E%u6587%u4EF6%u540D%u5305%u542B%u6307%u5B9A%u5B57%u7B26%u4E32%u7684%u6587%u4EF6%uFF0C%u5E76%u6253%u5370%u51FA%u76F8%u5BF9%u8DEF%u5F84%u3002%0A%0A**%u5E8F%u5217%u5316**%0A-%20%u6211%u4EEC%u628A%u53D8%u91CF%u4ECE%u5185%u5B58%u4E2D%u53D8%u6210%u53EF%u5B58%u50A8%u6216%u4F20%u8F93%u7684%u8FC7%u7A0B%u79F0%u4E4B%u4E3A%u5E8F%u5217%u5316%uFF0C%u5728Python%u4E2D%u53EB%60pickling%60%uFF0C%u5728%u5176%u4ED6%u8BED%u8A00%u4E2D%u4E5F%u88AB%u79F0%u4E4B%u4E3A%60serialization%uFF0Cmarshalling%uFF0Cflattening%60%u7B49%u7B49%uFF0C%u90FD%u662F%u4E00%u4E2A%u610F%u601D%u3002%u5E8F%u5217%u5316%u4E4B%u540E%uFF0C%u5C31%u53EF%u4EE5%u628A%u5E8F%u5217%u5316%u540E%u7684%u5185%u5BB9%u5199%u5165%u78C1%u76D8%uFF0C%u6216%u8005%u901A%u8FC7%u7F51%u7EDC%u4F20%u8F93%u5230%u522B%u7684%u673A%u5668%u4E0A%u3002%u53CD%u8FC7%u6765%uFF0C%u628A%u53D8%u91CF%u5185%u5BB9%u4ECE%u5E8F%u5217%u5316%u7684%u5BF9%u8C61%u91CD%u65B0%u8BFB%u5230%u5185%u5B58%u91CC%u79F0%u4E4B%u4E3A%u53CD%u5E8F%u5217%u5316%uFF0C%u5373%60unpickling%60%u3002Python%u63D0%u4F9B%u4E86%60pickle%60%u6A21%u5757%u6765%u5B9E%u73B0%u5E8F%u5217%u5316%u3002%0A-%20%60Json%60%uFF1A%u5982%u679C%u6211%u4EEC%u8981%u5728%u4E0D%u540C%u7684%u7F16%u7A0B%u8BED%u8A00%u4E4B%u95F4%u4F20%u9012%u5BF9%u8C61%uFF0C%u5C31%u5FC5%u987B%u628A%u5BF9%u8C61%u5E8F%u5217%u5316%u4E3A%u6807%u51C6%u683C%u5F0F%uFF0C%u6BD4%u5982%60XML%60%uFF0C%u4F46%u66F4%u597D%u7684%u65B9%u6CD5%u662F%u5E8F%u5217%u5316%u4E3A%60JSON%60%uFF0C%u56E0%u4E3A%60JSON%60%u8868%u793A%u51FA%u6765%u5C31%u662F%u4E00%u4E2A%u5B57%u7B26%u4E32%uFF0C%u53EF%u4EE5%u88AB%u6240%u6709%u8BED%u8A00%u8BFB%u53D6%uFF0C%u4E5F%u53EF%u4EE5%u65B9%u4FBF%u5730%u5B58%u50A8%u5230%u78C1%u76D8%u6216%u8005%u901A%u8FC7%u7F51%u7EDC%u4F20%u8F93%u3002%60JSON%60%u4E0D%u4EC5%u662F%u6807%u51C6%u683C%u5F0F%uFF0C%u5E76%u4E14%u6BD4%60XML%60%u66F4%u5FEB%uFF0C%u800C%u4E14%u53EF%u4EE5%u76F4%u63A5%u5728%60Web%60%u9875%u9762%u4E2D%u8BFB%u53D6%uFF0C%u975E%u5E38%u65B9%u4FBF%u3002%0A-%20Python%u8BED%u8A00%u7279%u5B9A%u7684%u5E8F%u5217%u5316%u6A21%u5757%u662F%60pickle%60%uFF0C%u4F46%u5982%u679C%u8981%u628A%u5E8F%u5217%u5316%u641E%u5F97%u66F4%u901A%u7528%u3001%u66F4%u7B26%u5408%60Web%60%u6807%u51C6%uFF0C%u5C31%u53EF%u4EE5%u4F7F%u7528%60json%60%u6A21%u5757%u3002%60%0A-%20%60json%60%u6A21%u5757%u7684%60dumps%28%29%60%u548C%60loads%28%29%60%u51FD%u6570%u662F%u5B9A%u4E49%u5F97%u975E%u5E38%u597D%u7684%u63A5%u53E3%u7684%u5178%u8303%u3002%u5F53%u6211%u4EEC%u4F7F%u7528%u65F6%uFF0C%u53EA%u9700%u8981%u4F20%u5165%u4E00%u4E2A%u5FC5%u987B%u7684%u53C2%u6570%u3002%u4F46%u662F%uFF0C%u5F53%u9ED8%u8BA4%u7684%u5E8F%u5217%u5316%u6216%u53CD%u5E8F%u5217%u673A%u5236%u4E0D%u6EE1%u8DB3%u6211%u4EEC%u7684%u8981%u6C42%u65F6%uFF0C%u6211%u4EEC%u53C8%u53EF%u4EE5%u4F20%u5165%u66F4%u591A%u7684%u53C2%u6570%u6765%u5B9A%u5236%u5E8F%u5217%u5316%u6216%u53CD%u5E8F%u5217%u5316%u7684%u89C4%u5219%uFF0C%u65E2%u505A%u5230%u4E86%u63A5%u53E3%u7B80%u5355%u6613%u7528%uFF0C%u53C8%u505A%u5230%u4E86%u5145%u5206%u7684%u6269%u5C55%u6027%u548C%u7075%u6D3B%u6027%u3002%0A


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PythonIO编程指的是Python程序对文件、网络等输入输出流的操作。Python提供了多种方式进行IO操作,包括文件读写、网络通信、标准输入输出等。 1. 文件读写 Python中最基本的IO操作就是文件读写。使用Python内置的open函数可以打开一个文件,指定文件名和操作模式(读、写、追加等),然后使用read、write等方法进行读写操作。 例如,以下代码打开文件example.txt,将其中的内容读入到变量content中,并将content输出到控制台: ``` with open('example.txt', 'r') as f: content = f.read() print(content) ``` 2. 网络通信 Python可以通过socket模块进行网络通信。使用socket模块创建一个socket对象,然后调用其connect、send、recv等方法进行网络通信。 例如,以下代码创建一个TCP连接,向远程服务器发送一条消息,然后接收服务器返回的消息并输出到控制台: ``` import socket HOST = '127.0.0.1' PORT = 8000 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) s.sendall(b'Hello, world') data = s.recv(1024) print(f'Received {data.decode()}') ``` 3. 标准输入输出 Python的标准输入输出包括控制台输入输出和文件描述符输入输出。使用input函数可以从控制台读取用户输入,使用print函数可以将输出打印到控制台。 例如,以下代码从控制台读取一个字符串,将其转换为整数并输出到控制台: ``` s = input('Please enter a number: ') n = int(s) print(f'The number is {n}') ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值