huangdongdong 发表于 2021-3-19 18:53:36

小白

def file_write(file_name):
    f = open(file_name, 'w')
    print('请输入内容【单独输入\':w\'保存退出】:')

    while True:
      write_some = input()                           
      if write_some != ':w'                                                         
            f.write('%s\n' % write_some)
      else:                                                         
            break

    f.close()

file_name = input('请输入文件名:')
file_write(file_name)
====================== RESTART: C:\Users\ASUS\Desktop\1.py =====================
请输入文件名:something.txt
请输入内容【单独输入':w'保存退出】:
啊啊啊啊啊啊啊啊啊啊啊啊啊啊
啊啊啊啊啊啊啊啊啊啊啊啊啊啊
:w
>>>代码 ifwrite_some!= ':w',这里的write_some难道不包含':w'之前的内容吗。

小伤口 发表于 2021-3-19 18:53:37

平常的一个input一旦回车输入就结束
所以加入while循环,换言之这个程序类似于多个input
只要你不输入:w,每次按回车,就会经历一次while循环,write_some就会被替换成你上一排的内容
但是每次程序都会把write_some写入文件中
所以我们能在文件看到全部内容
但write_some永远只能是其中一排的内容
也就是说每次程序结束
write_some=:wdef file_write(file_name):
    f = open(file_name, 'w')
    print('请输入内容【单独输入\':w\'保存退出】:')

    while True:
      write_some = input('ye')                           
      if write_some != ':w':                                                      
            f.write('%s\n' % write_some)
      else:
            print('write_some',write_some)
            break

    f.close()

file_name = input('请输入文件名:')
file_write(file_name)
=================== RESTART: C:/Users/ASUS/Desktop/平时测式.py ===================
请输入文件名:
wewe
请输入内容【单独输入':w'保存退出】:
yeefdrgr
yergtbthn
yeregtrhtr
ye:w
write_some :w
>>>

wp231957 发表于 2021-3-19 20:11:04

虽然没有查到直接的证据
但是我猜测,input是以回车作为输入结束
页: [1]
查看完整版本: 小白