Python :- 读取文本文件并将其转换为大写并写入第二个文件
Python :- Read a text file and convert it to upper case and write to a second file
读取一个文本文件并将其转换为大写并写入第二个文件。
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我叫 VENKATES
H 不会出现在最后一个位置,而是将第一个字符移动到第二个。为什么?
在行首添加换行符 \n
。
例如:
with open(filename) as infile, open(filename1, "a") as outfile:
for line in infile:
outfile.write("\n" + line.upper())
问题是,您不再关闭文件。数据只有在文件关闭时才能确定写入。由于您为每个字符打开一个新文件,并且没有明确关闭文件,因此写入字符的顺序是不确定的。
使用 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)
读取一个文本文件并将其转换为大写并写入第二个文件。
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我叫 VENKATES
H 不会出现在最后一个位置,而是将第一个字符移动到第二个。为什么?
在行首添加换行符 \n
。
例如:
with open(filename) as infile, open(filename1, "a") as outfile:
for line in infile:
outfile.write("\n" + line.upper())
问题是,您不再关闭文件。数据只有在文件关闭时才能确定写入。由于您为每个字符打开一个新文件,并且没有明确关闭文件,因此写入字符的顺序是不确定的。
使用 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)