поэтому у меня есть некоторый код, который открывает текстовый файл, содержащий список путей к файлам, например:
C: / Users / User / Desktop / mini_mouse / 1980
C: / Users / Пользователь / Рабочий стол / mini_mouse / 1982
C: / Users / Пользователь / Рабочий стол / mini_mouse / 1984
Затем он открывает эти файлы по отдельности, построчно-линии, и делает некоторую фильтрацию к файлам.Затем я хочу, чтобы он выводил результат в совершенно другую папку с именем:
output_location = 'C:/Users/User/Desktop/test2/'
. В моем нынешнем виде код выводит результат в то место, где был открыт исходный файл, т.е. если он открывает файл C: / Users / User / Desktop / mini_mouse / 1980, выходные данные будут в той же папке с именем '1980_filtered'.Я, однако, хотел бы, чтобы вывод вошел в output_location.Кто-нибудь может увидеть, где я иду не так в настоящее время?Любая помощь будет принята с благодарностью!Вот мой код:
import os
def main():
stop_words_path = 'C:/Users/User/Desktop/NLTK-stop-word-list.txt'
stopwords = get_stop_words_list(stop_words_path)
output_location = 'C:/Users/User/Desktop/test2/'
list_file = 'C:/Users/User/Desktop/list_of_files.txt'
with open(list_file, 'r') as f:
for file_name in f:
#print(file_name)
if file_name.endswith('\n'):
file_name = file_name[:-1]
#print(file_name)
file_path = os.path.join(file_name) # joins the new path of the file to the current file in order to access the file
filestring = '' # file string which will take all the lines in the file and add them to itself
with open(file_path, 'r') as f2: # open the file
print('just opened ' + file_name)
print('\n')
for line in f2: # read file line by line
x = remove_stop_words(line, stopwords) # remove stop words from line
filestring += x # add newly filtered line to the file string
filestring += '\n' # Create new line
new_file_path = os.path.join(output_location, file_name) + '_filtered' # creates a new file of the file that is currenlty being filtered of stopwords
with open(new_file_path, 'a') as output_file: # opens output file
output_file.write(filestring)
if __name__ == "__main__":
main()