Как я могу открыть и прочитать входной файл и распечатать его в выходной файл в Python? - PullRequest
0 голосов
/ 23 февраля 2019

Так как я могу попросить пользователя предоставить мне входной файл и выходной файл?Я хочу, чтобы содержимое входного файла, предоставленного пользователем, распечатывалось в выходной файл, предоставленный пользователем.В этом случае пользователь вставит в этот

Enter the input file name: copyFrom.txt
Enter the output file name: copyTo.txt

внутри входного файла только текст "hello world".

Спасибо.Пожалуйста, держите это как можно проще

Ответы [ 5 ]

0 голосов
/ 23 февраля 2019

Чтобы ввести имена входных и выходных файлов, просто используйте функцию input(s), где s - это входное сообщение.

Чтобы получить содержимое внутри входного файла, предоставленного пользователем.для печати в выходной файл », что означало бы чтение входного файла и запись прочитанных данных в выходной файл.

Чтобы прочитать входной файл, используйте f = open(input_filename, 'r'), где первый аргумент - это имя файла ивторой аргумент - это открытый режим, где 'r' означает чтение.Затем, разрешив readtext быть прочитанной текстовой информацией входного файла, используйте readtext = f.read(): это возвращает все текстовое содержимое f.

Чтобы вывести прочитанное содержимое в выходной файл, используйте g = open(output_filename, 'w'), отмечая, что теперь вторым аргументом является 'w', что означает запись.Чтобы записать данные, используйте g.write(readtext).

Обратите внимание, что возникнет исключение, если входной файл не найден или выходной файл недопустим или невозможен на данный момент.Чтобы обработать эти исключения, используйте блок try-exc.

Это фактически операция копирования файла в Python.shutil может служить полезной альтернативой.

0 голосов
/ 23 февраля 2019

Если вы просто хотите скопировать файл, файл копирования shutil делает цикл неявным образом:

import os
from shutil import copyfile

openfile = input('Enter the input file name:')
outputfile = input('Enter the output file name:')

copyfile(openfile, outputfile)

Это сообщение Как мне скопировать файл в Python? для получения более подробной информации

0 голосов
/ 23 февраля 2019

Сначала вы должны прочитать файл и сохранить его в некоторой переменной (здесь rd_data):

if os.path.exists(input_file_name):
        f = open(input_file_name,"r")
        rd_data = f.read()
        f.close()

Затем вы должны записать переменную в другой файл:

f = open(output_file_name,"w")
f.write(rd_data)
f.close()

Полный код указан ниже:

import os

input_file_name = input("Enter file name to read: ")
output_file_name = input("Enter file name to write: ")
if os.path.exists(input_file_name):
    f = open(input_file_name,"r")
    rd_data = f.read()
    f.close()

f = open(output_file_name,"w")
f.write(rd_data)
f.close()
0 голосов
/ 23 февраля 2019

Вот пример, который должен работать в Python3.Имена входных и выходных файлов должны включать полный путь (например, "/foo/bar/file.txt"

import os
input_file = input('Enter the input file name: ')
output_file = input('Enter the output file name: ')

def update_file(input_file, output_file):
    try:
        if os.path.exists(input_file):
            input_fh = open(input_file, 'r')
            contents = input_fh.readlines()
            input_fh.close()
            line_length = len(contents)
            delim = ''
            if line_length >= 1:
                formatted_contents = delim.join(contents)
                output_fh = open(output_file, 'w')
                output_fh.write(formatted_contents)
                output_fh.close()
            print('Update operation completed successfully')
    except IOError:
        print(f'error occurred trying to read the file {input_fh}')

update_file(input_file, output_file)
0 голосов
/ 23 февраля 2019

Вы можете сделать это ...

import os
openfile = input('Enter the input file name:')
outputfile = input('Enter the output file name:')
if os.path.isfile(openfile):
    file = open(openfile,'r')
    output = open(outputfile,'w+')
    output.write(file.read())
    print('File written')
    exit()
print('Origin file does not exists.')
...