python3.11怎么修改上一行代码

Python027

python3.11怎么修改上一行代码,第1张

亲,您好,很高兴回答你的问题macOSpython如何修改上一行代码python修改文件指定行(先读入内存,再修改)我们现在有五行数据,我们想把pig替换成cow我们可以先把数据读到内存里,然后再在内存中修改好以后再写入文档#!/usr/bin/envpython#-*-coding:utf-8-*-#@Date:2019-04-2514:35:58#@Author:迷风小白defchangetext(a,b):withopen('test','r',encoding='utf-8')asf:lines=[]#创建了一个空列表,里面没有元素forlineinf.readlines():ifline!='':lines.append(line)f.close()withopen('test','w',encoding='utf-8')asf:forlineinlines:ifainline:line=bf.write('%s'%line)else:f.write('%s'%line)changetext('pig','cow')因为之前我修改指定行的数据是通过把其他数据写入新的文件,然后把旧的文件删除,再把新文件改为之前的名字,虽然我知道这种方法有很多局限性,可是当时并没有想到更合适的方法。现在可以通过先把数据读入到内存中再写入,此方法相比于前一种好多了。

#获取用户输入  input()    ()括号输入 提示:用户在输入文本前看到的信息

#格式: 变量 = input('请输入姓名')

message1 = input('please enter your name ')

print(message1)

print('------------')

#解决input()函数中提示过长,提前将文本存入一个变量

#示例  该示例是一个多行字符串

letter = 'I want to know your age '

letter += '\nplease enter your age'

message2 = input(letter)

print(message2)

print('-----------')

#input()函数获得用户输入类型都是String类型

#为了获取int型数据,我们可以使用int(String),强制转换,等同于str(int)

message2 = int(message2)

if message2 >18 :

    print("您已经成年了")

elif message2 <= 18 :

    print("你是一个小朋友")

print('--------------')

#while 基本格式

#while 判断语句

    # python语句

#直到判断句结果为false,循环结束

letter1 = 3

while letter1 <10 :

    letter1 += 4

    print(letter1)

print('--------------')

#使用while语句,用字典名或者列表名作为判断条件时,只有列表(字典)内元素为空才等同于False

dict = {1:11,2:22}

t = 1

while dict:

    del dict[t]

    t += 1

    print(dict)

#remove()清除列表中的特定值(第一次出现的)

#将remove()和while循环结合

list = ['cat','dog','pig','chick','hen','cat','elephant','cat']

while True :

    list.remove('cat')

    print(list)

    if 'cat' not in list:

        break

#方法2 使用set()函数加一次remove

#弊端:这样其他重复的元素也会被清除

# list = set(list)

# list.remove('cat')

# print(list)