20181221hw

  1. 读入用户输入的文件的路径和一个字符串和行数,将文件中的第n行行首插入用户输入的字符串

def fun():

    fpath = input('请输入一个文件路径:')

    str = input('请输入一个字符串:')

    n = int(input('请输入要插入的行数:'))

    l = [] # 定义一个空列表

    with open(fpath,'r') as f:

        for i in f:

            l.append(i) # 把打开的文件存入列表中

        #print(l)

    l.insert(n-1,str) # 要在第几行插入字符串

    s = ''.join(l)

    with open(fpath,'w+') as f:

        f.write(s) # 把新的内容写入文件

try:

    fun()

except Exception as e:

print('输入内容与提示不符!{}'.format(e))

 

 

3.下面只有一种方式不能打开文件,请尝试,并说明原因?

01.  f = open('E:/test.txt', 'w')

02.  f = open('E:\test.txt', 'w') # 必须双 \\ 或者前面加 r ,否则Python会将反斜杠作为转义符

03.  f = open('E://test.txt', 'w')

04.  f = open('E:\\test.txt', 'w')

4.打开一个文件使用open()函数的时候,通过设置文件的打开方式,决定打开的文件具有哪些性质,请总结都有哪些方式,并说明区别

 

'r'->只读

'w'->只写,文件已存在则清空,不存在则创建。

'a'->追加,写到文件末尾

'b'->二进制模式,比如打开图像、音频、word文件。

'+'->更新(可读可写)

'r+'不清空,不创建

默认是只读方式打开文件:open(file, mode=’r’)

 

  1. 如何将一个文件对象f中的数据存放到列表中

# 第一种方式 (遍历用append存入)

with open('../text','r') as f:

    l = []

    for i in f:

        l.append(i)

    print(l)

# 第二种方式(用list函数)

with open('../text','r') as f:

    l = list(f)

print(l)

 

  1. 如果得到文件对象f的每一行数据,尝试使用多种方法

with open('../text','r') as f:

    n = f.readlines()

    #print(n[1])

    l = []

    for i in range(len(n)):

        l.append(n[i])

    print(l)

posted on 2018-12-22 09:12  liuyibo  阅读(111)  评论(0编辑  收藏  举报