Python:-读取文本文件并将其转换为大写并写入第二个文件

时间:2018-08-13 07:09:47

标签: python python-3.x file-writing

读取文本文件并将其转换为大写并写入第二个文件。

fo = open('/home/venkat/Desktop/Data Structure/Python/test.txt', 'r')
for x in fo.read():
    y = x.upper()
    fo1 = open('/home/venkat/Desktop/Data Structure/Python/write.txt', 'a')
    fo1.write(y)

test.txt的内容:-我的名字是Venkatesh

正确的输出:- 我的名字叫VENKATESH

我得到:- H 我的名字是通行证

H并不是最后一位,而是将第一个字符移到第二个字符。为什么?

2 个答案:

答案 0 :(得分:2)

问题是,您不再关闭文件了。只有在关闭文件后,才能确保写入数据。由于您为每个字符打开了一个新文件,并且没有明确关闭文件,因此写入的字符顺序不确定。

使用with语句打开文件可确保正确关闭文件:

with open('/home/venkat/Desktop/Data Structure/Python/test.txt', 'r') as inp:
    y = inp.read().upper()
with open('/home/venkat/Desktop/Data Structure/Python/write.txt', 'a') as out:
    out.write(y)

答案 1 :(得分:0)

在行首添加换行符\n

例如:

with open(filename) as infile, open(filename1, "a") as outfile:
    for line in infile:
        outfile.write("\n" + line.upper())