代码一:
<span style="font-size:14px;">#coding=utf-8
def main():
#'''
'''filename=raw_input("Please input file name: ")
f=open(filename, 'r')
alllines=f.readlines()
f.close
for eachline in alllines:
print eachline
'''
filename=raw_input("Please input file name: ")
f=open(filename, 'w')
while True:
aline=raw_input("Enter a line ('.' to quit):")
if aline !=".":
f.write('%s' % aline)
else:
break
f.close()
if __name__ == '__main__':
main()</span>
运行后结果如下:
you must be happyI belive I can fly!
可知所有文件都写到了同一行。
修改代码如下(代码二):
<span style="font-size:14px;">#coding=utf-8
import os
def main():
#'''
'''filename=raw_input("Please input file name: ")
f=open(filename, 'r')
alllines=f.readlines()
f.close
for eachline in alllines:
print eachline
'''
filename=raw_input("Please input file name: ")
f=open(filename, 'w')
while True:
aline=raw_input("Enter a line ('.' to quit):")
if aline !=".":
f.write('%s%s' % (aline, os.linesep))
else:
break
f.close()
if __name__ == '__main__':
main()</span>
运行结果如下:
中间多了一空行
再修改代码,代码三:
<span style="font-size:14px;">#coding=utf-8
#import os
def main():
#'''
'''filename=raw_input("Please input file name: ")
f=open(filename, 'r')
alllines=f.readlines()
f.close
for eachline in alllines:
print eachline
'''
filename=raw_input("Please input file name: ")
f=open(filename, 'w')
while True:
aline=raw_input("Enter a line ('.' to quit):")
if aline !=".":
f.write('%s\n' % aline)
else:
break
f.close()
if __name__ == '__main__':
main()</span>
运行结果如下:
换行显示,中间无空行。
总结如下:
1. open文件时,只输入文件名,不填写路径,默认为当前代码所在路径;
2.write写入不存在的文件时,首先创建对应名称的文件;write已存在的文件时,会覆盖文件中已有内容;
3.raw_input()不会保留用户输入的换行符,调用write() 方法时,必须加上换行符;
4.os.linesep会在换行的同时,增加一个空行;
5.程序使用句号(.)作为文件结束的标志,是因为在键盘上很难输入一个EOF(end of life)字符。