python 29课 动手做0
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)
试了半天并不能保存输入的内容,【单独输入\':w\'保存退出】,这个操作如何才能执行呀
然后我改成这个样子就能保存,请问这样书写是也正确
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)
f.close()】
else:
break
file_name = input('请输入文件名:')
file_write(file_name)
我在我的机器上,按第一个程序做,可以保存。 write() 方法用于向文件中写入指定字符串。
在文件关闭前或缓冲区刷新前,字符串内容存储在缓冲区中,这时你在文件中是看不到写入的内容的。
=========所以你是不是说反了???============
写入文件要这样操作:
1、open()方法打开文件
2、write()方法写入字符串
3、close()方法关闭
而你发的代码,第1种是打开文件,再持续写入,最后关闭,理论上是没问题的
第2种是错误的,打开文件,写入,关闭,再循环写入??你都关闭了往哪去写?
另外推荐你掌握更好的方法
with open(file_name,'w') as file:
f.write('str') #'str'表示欲写入的字符串,就2行代码就行了,会自动调用close()方法,不需要手动调用
你只要循环把用户输入的字符串比对,不等于保存命令,就继续添加字符串,是保存命令则跳出循环,再执行这2行代码就可以了 参考代码:
def file_write(file_name):
print('请输入内容【单独输入\':w\'保存退出】:')
write_some = ''
while True:
temp = input()
if temp == ':w':
break
else:
write_some += temp+'\n'
with open(file_name,'w') as f:
f.write(write_some)
file_name = input('请输入文件名:')
file_write(file_name)
页:
[1]