python3.5,试图通过为i定义一个函数将一个文件的内容复制到另一个文件中

2024-03-28 09:03:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我通常不会在作业上寻求帮助,但我被一个部分问题绊倒了,我似乎不能得到正确的答案。问题是:

Write a function fcopy() that takes as input two file names (as strings) and copies the content of the first file into the second.

到目前为止,我终于想到了:

def fcopy(file1, file2):
os.chdir('C:/Users/HOME/Desktop/Introduction to Computing/Lab/assignments')
open_file_1 = open(file1, 'r')
open_file_2 = open(file2, 'w')
for line in open_file_1:
    open_file_2.write(line)
open_file_1.close()
open_file_2.close()
open_file_2 = open(file2, 'r')
for line in open_file_2:
    print(line)
open_file_2.close()

我通过查阅许多资料,取得了很大的进展,我想知道如何使这一点发挥作用。谢谢


Tags: the答案inforcloseas作业line
1条回答
网友
1楼 · 发布于 2024-03-28 09:03:06

这应该会有帮助

def fcopy(file1, file2):
    #os.chdir('C:/Users/HOME/Desktop/Introduction to Computing/Lab/assignments')
    open_file_1 = open(file1, 'r')
    open_file_2 = open(file2, 'w')
    for line in open_file_1:
        open_file_2.write(line)
    open_file_1.close()
    open_file_2.close()
    open_file_2 = open(file2, 'r')
    for line in open_file_2:
        print(line)
    open_file_2.close()
fcopy("infile.txt", "outfile.txt")

这是另一种方法

def copy(infile, outfile):
    with open(infile) as file_input:
        with open(outfile, "w") as file_output:
            for line in file_input:
                file_output.write(line)
copy("infile.txt", "outfile.txt")

这种方法更好,因为它可以保证outfile将被关闭。你知道吗

从infile和outfile打印内容

def fcopy(file1, file2):
    #os.chdir('C:/Users/HOME/Desktop/Introduction to Computing/Lab/assignments')
    open_file_1 = open(file1, 'r')
    open_file_2 = open(file2, 'w')
    print("      -Infile      -")
    for line in open_file_1:
        open_file_2.write(line)
        print(line)
    open_file_1.close()
    open_file_2.close()

    open_file_2 = open(file2, 'r')
    print()
    print("      -Outfile      -")
    for line in open_file_2:
        print(line)
    open_file_2.close()
fcopy("infile.txt", "outfile.txt")

def copy(infile, outfile):
    with open(infile) as file_input:
        with open(outfile, "w") as file_output:
            for line in file_input:
                file_output.write(line)

第二条路

    with open(infile, "r") as file_in:
        print("Infile: ")
        for line2 in file_in:
            print(line2)

    print()

    with open(outfile, "r") as file_out:
        print("Outfile: ")
        for line3 in file_out:
            print(line3)            

copy("infile.txt", "outfile.txt")

我相信有更优化的方式做这件事,但这是一个我现在可以做的。如果我找到更好的方法,我会更新我的答案。你知道吗

相关问题 更多 >