Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 空闲时间为';t打开和读取文本文件_Python - Fatal编程技术网

Python 空闲时间为';t打开和读取文本文件

Python 空闲时间为';t打开和读取文本文件,python,Python,我正试图打开一个文本文件,让我可以阅读多行文字,并将它们大写 inputFileName = input("Input file name: ") infile = open(inputFileName, "w+") infile = open(inputFileName, "a") infile = open(inputFileName, "r+") line = infile.readline() while line != "" : line = infile.readli

我正试图打开一个文本文件,让我可以阅读多行文字,并将它们大写

inputFileName = input("Input file name: ")


infile = open(inputFileName, "w+")
infile = open(inputFileName, "a")
infile = open(inputFileName, "r+")


line = infile.readline()
while line != "" :
    line = infile.readline()
    line = line.upper()
    outfile.write(line)

    print(line)

infile.close()
当打开它时,它不会给出文件本身的上下文,即使我写的东西应该可以工作

也可以

f_name = input("Input file name: ")

with open(f_name, "r+") as f:
    lines = f.read().splitlines()  # get string, split lines
    lines = [l.capitalize() for l in lines]  # capitalize each line
    f.seek(0)  # move the cursor to the beginning
    f.write('\n'.join(lines))  # join the lines and write to the same file

正如评论已经开始提到的,并参考您的最终声明,出于多种原因,此代码绝对不应该工作

1) 你打开文件三次,没有明显的原因

2)
outfile
未声明,不执行任何操作

3) 当您使用
w
打开文件时,它会清除指定文件的内容

首先解决这些问题

你了解基本原理,你的上层功能很好等等

这是你必须做的

1) 不要无缘无故地打开同一个文件3次

2) 定义
outfile


3) 使用
a
而不是
w
,因此您可以追加而不是删除并写入

打开
输入文件名
三次,
输出文件
未声明-请给我们您的真实代码。这甚至不会开始运行。当然,将其归咎于IDLE-您第一次调用
open()
时删除了文件中的所有内容,因为infle中的行:…
很少需要显式调用
readline
。这是我真正的代码,我当然不会责怪IDLE,这就是我目前正在使用的,不要只给出有效的代码。这样,他们下次遇到类似问题时就会陷入困境。相反,如果您要提供代码,请解释它,并描述他们的代码是如何有问题的,以及您为什么要进行更改did@ItsMeNaira其他人在他们的评论中已经提到了代码的问题,我已经将代码的描述作为在线评论