输入输出

大兔子大兔子 提交于 2020-03-26 18:01:11

3 月,跳不动了?>>>

输入输出

屏幕输出

print
        功能
            用于打印(输出)信息到屏幕(例如字符串或表达式)
        语法
            print 字符串
                print 'hello, world!'
            print 表达式
                x = 1
                y = 2
                print x + y
            版本
                2.x版本是一个语句
                3.x版本是一个函数
                3.x版本需要加一个括号
        举例
            print '这是一个print打印函数'
            print 'a','b','c'
            print '1 + 1'
            print (1 + 1)

键盘输入

    raw_input
        功能
            用于接收键盘输入
        语法
            i = raw_input( )
        举例
            s = raw_input('请输入您的账号:')
            print '您的账号是:', s
    input
        功能
            用于接入键盘输入,输入内容可以是表达式
        语法
            i = input( )
        举例
            s = input('请输入您的公式:')
                #input可以输入表达式,然后返回计算结果
            print '您的结果是:', s

文件处理

1)文件打开

语法

    file_object = open(file_name, access_mode,  buffering)

文件分类 文本文件 使用文本编辑器可以修改 html doc xls ppt txt 可以被我们阅读和理解 相比二进制文件,体积更大一些 二进制文件 需要专门的文件编辑器来打开 图片 jpg bmp gif 视频 mp4 wmv mkv 程序能阅读和理解 相比文本文件,体积更小一些 文件名称 file_name 是包含要打开的文件名字的字符串, 它可以是相对路径或者绝对路径 打开模式 r r 以只读方式打开文件 r+ 以读写方式打开文件 rb 以二进制方式只读打开文件 rb + 以二进制读写打开文件 w w 以写入方式打开文件 若文件存在,则覆盖 若文件不存在,则创建 w+ 以读写方式打开文件 若文件不存在,则创建 若文件存在,则覆盖 wb 以二进制方式写入打开文件 若文件存在,则覆盖 若文件不存在,则创建 wb + 以二进制方式读写打开文件 若文件存在,则覆盖 若文件不存在,则创建 a a 以增加方式打开文件,文件指针放在原有内容后面 若文件不存在,则创建 a + 以读写方式打开文件,文件指针放在原有内容后面 若文件不存在,则创建 ab 以二进制方式打开文件并增加内容,文件指针放在原有内容后面 若文件不存在,则创建 ab + 以二进制方式读写文件并增加内容,文件指针放在原有内容后面 若文件不存在,则创建 缓存大小 如果buffering的值被设为0,就不会有寄存。 如果buffering的值取1,访问文件时会寄存行。 如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。 如果取负值,寄存区的缓冲大小则为系统默认。

举例
            file1 = open('newfile.txt')
            file1 = open('newfile.txt', 'r')
            file1 = open('newfile.txt', 'w')
            file1 = open('newfile.txt', 'a')
            file1 = open('/Users/jaykingchen/PycharmProjects/PINGINGLAB/newfile.txt', 'w')

文件关闭

    语法  file.close()
    关闭文件,结束文件调用,节省内存空间

举例 file1 = open('newfile.txt', 'w') print file1.mode print file1.name file1.close()

文件写入

语法    file.write()
    write()方法不会在字符串的结尾添加换行符\n,若需要换行,需自行添加

举例 file1 = open('newfile.txt', 'wb') file1.write('www.pinginglab.net\nthe way to learn network\n') file1.close()

文件读取

语法

file.read()
                读取文件所有字节,可以指定字节数,不指定或未负则读取所有
            file.readline()
                读取一行
                    包括'\n'字符
            file.readlines()
                读取所有行并返回列表
                    每行返回列表

举例 例1 file1 = open('newfile.txt', 'r') s = file1.read() print s file1.close() 例2 file1 = open('newfile.txt', 'r') s = file1.read(5) print s file1.close() 例3 file1 = open('newfile.txt', 'r') s = file1.readline() print s file1.close() 例4 file1 = open('newfile.txt', 'r') s = file1.readlines() print s file1.close()

文件增加

语法

    file = open('file_name', 'a')
                以a方式打开,代表不覆盖原来内容,在原有基础上增加
            file.write()
        举例
            file1.write('123456\n')
            file1.close()
            file1 = open('newfile.txt', 'a')

文件偏移

语法

    file.tell( )
                表示当前指针所在的位置
            file.seek( )
                指定指针偏移的位置
                    file.seek(off, whence=0) 在文件中移动文件指针, 从 whence ( 0 代表文件其始, 1 代表当前位置,2 代表文件末尾)偏移 off 字节

举例 tell file1 = open('newfile.txt', 'r+') print file1.tell()

            file1.write('add line 1\n')
            print file1.tell()
            
            file1.write('add line 2\n')
            print file1.tell()
            
            file1.close()
        seek
            file1 = open('newfile.txt', 'w+')
            print file1.tell()
            
            file1.write('add line 1\n')
            print file1.tell()
            
            file1.write('add line 2\n')
            print file1.tell()
            
            file1.seek(-10,1)
            print file1.tell()
            
            file1.seek(0, 0)
            print file1.tell()
            
            file1.close()

文件重命名

语法

import os
            导入系统模块
        os.rename('原文件名称','重命名文件名称')

举例 import os os.rename('newfile.txt', 'nf.txt')

文件删除

语法 import os 导入系统模块 os.remove('文件名称') 举例 import os os.remove('nf.txt')

目录处理

os模块

1)获取目录
        语法
            os.getcwd()
                获取当前工作目录
        举例
            import os
            os.getcwd()
2)创建目录
        语法
            os.mkdir()
                创建新的目录
        举例
            import os
            os.mkdir('newdir')
3)删除目录
        语法
            os.rmdir( )
                删除指定目录
        举例
            import os
            os.rmdir('newdir')
4)目录内容
        语法
            os.listdir()
                列出指定目录下的文件和文件夹
        举例
            import os
            os.listdir(os.getcwd())
5)移动目录
        语法
            os.chdir()
                移动当前工作目录到其他目录
        举例
            import os
            os.chdir('newdir')

os.path模块

 

1)查询文件
        语法
            os.path.isfile()
        举例
            >>> os.path.isfile('newfile.txt')
            False
            >>> file1 = open('newfile.txt', 'w')
            >>> os.path.isfile('newfile.txt')
            True
2)查询目录
        语法
            os.path.isdir
        举例
            >>> os.path.isdir('testdir')
            True
3)查看大小
        语法
            os.path.getsize
        举例
            >>> os.path.getsize('newfile.txt')
            0
            >>> file1 = open('newfile.txt', 'w')
            >>> file1.write('123')
            >>> file1.close()
            >>> os.path.getsize('newfile.txt')
            3

序列化

概述 我们用Python对象(变量/函数/方法)所进行的操作是在内存中,若Python程序(或系统)关闭,则内存被清除 为了将我们所操作的内容永久存储(保存到硬盘),需要引入"序列化"(顺序化),即pickling/serialization pickling,serialization,marshalling,flattening 序列化将复杂数据结构(对象)转换为一个二进制数据集合(数据流), 这样就可以把数据永久存储或通过网络发送, 然后再重新把数据流恢复原来的对象内容 变量/对象等从内存中变成可存储或传输的过程称之为序列化

    pickling
        功能
            提供Python对象的序列化和存储转换功能
        函数
            pickling.dump( )
                接收一个文件句柄和一个数据对象作为参数, 把数据对象以特定格式保存到给定文件里
            pickling.load( )
                从文件中取出已保存的对象时, pickle 知道如何恢复这些对象到它们本来的格式
        举例
            例1
                >>> import pickle
                >>> a = 1
                >>> pickle.dumps(a)
                    将对象序列化
                'I1\n.'
                >>> b = 'hello,world!'
                >>> pickle.dumps(b)
                    将对象序列化
                "S'hello,world!'\np0\n."
            例2
                >>> a = 'hello,world!'
                    创建一个变量,指向字符串
                >>> f = open('dump.txt', 'wb')
                    创建一个文件dump.txt
                >>> pickle.dump(a, f)
                    将变量序列化存储到dump.txt文件中
                        S'hello,world!'
                        p0
                        .
                >>> f.close()
                    需要保存关闭才能看到成功
            例3
                >>> f = open('dump.txt', 'rb')
                    打开dump文件
                >>> d = pickle.load(f)
                    加载dump文件
                >>> f.close( )
                >>> d
                    验证反序列化(是否可以得到之前所创建的对象)
                'hello,world!'

marshal 功能 提供类似字典和文件的对象,可以完成字符串的永久性存储 举例 shelve 功能 同时具备pickling和marshal的功能 举例

marshal 功能 提供类似字典和文件的对象,可以完成字符串的永久性存储 举例 shelve 功能 同时具备pickling和marshal的功能 举例

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!