-2 python function file-processing
我必须编写一个程序来反转文件中单词的字母.
例如,如果文件包含以下单词:
snow
tree
star
wreath
Run Code Online (Sandbox Code Playgroud)
它会将它们变成:
wons
eert
rats
htaerw
Run Code Online (Sandbox Code Playgroud)
完成后,我必须编写一个新文件,它将以相反的顺序写入它们,如下所示:
htaerw
rats
eert
wons
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
def reverse(string):
#empty list for string
word = []
#for each letter in the string obtain the corresponding opposite number
#first letter to last letter, second letter to second last letter, etc...
for letter in range(len(string)-1, -1, -1):
word.append(string[letter])
#create main() function
def main():
#open file and read words in each line
input_file = open("words.txt", "r")
word_file = input_file.readlines()
#empty list for the words in the file, after their letters have been reversed
reversed_list = []
for word in range(len(word_file)):
reverse_word = reverse(word_file[word])
reversed_list.append(reverse_word)
#create new file of the reversed words IN REVERSED ORDER!
reverse_file = open("reverse.txt","w")
reverse_file.writelines(reversed_list)
reverse_file.close()
main()
Run Code Online (Sandbox Code Playgroud)
如何在不使用内置.reverse()函数的情况下编辑主函数以反转单词的顺序?
with open('path/to/input') as infile:
words = []
for line in infile:
words.append(line.strip()[::-1])
with open('path/to/output', 'w') as outfile:
for word in words[::-1]:
outfile.write(word)
outfile.write('\n')
Run Code Online (Sandbox Code Playgroud)
一个衬垫(因为我们都喜欢它们):
with open('path/to/input') as infile:
words = [line.strip()[::-1] for line in infile]
with open('path/to/output', 'w') as outfile:
outfile.write('\n'.join(words[::-1]))
Run Code Online (Sandbox Code Playgroud)