试图写入python .txt文件

时间:2016-03-29 01:49:36

标签: python

我是一名新程序员,所以对我很轻松,我在youtube上观看了一段视频,并了解了大部分内容(或者我认为)。

我尝试运行时出错

import logging
import csv

Date = input ('what date was it?')  
fish = input ('what type of fish did you catch?')  
fly = input ('what fly did you catch the fish on?')  
water = input ('what was the water conditions?') 

fileName = 'fish.txt'
WRITE = 'w'  # write rebuilds the file, so nothing is in the file!
READ ='r'
APPEND = 'a'
ReadWrite = 'w+'

file = open('fileName', 'a') 
file.write (Date + "\n")  
file.write (fish + "\n") 
file.write (fly + "\n") 
file.write (water + "\n")  

allFileContents = fileName.read()
print (allFileContents)

file.close()

有什么事情突然发生在你​​身上可能是错的吗?

1 个答案:

答案 0 :(得分:3)

您实际上并未在此处打开文件:

allFileContents = fileName.read()

fileName只是您的文件名字符串,您想使用open

allFileContents = open(fileName).read()

此外,您实际上是在这里写一个名为fileName的文件名:

file = open('fileName', 'a')

但是,我认为您希望实际引用您创建的变量fileName。所以,你想要:

file = open(fileName, 'a')

关于您的代码的小评论以提供帮助。

在这里,您似乎在打开文件时创建了包含不同模式的变量:

WRITE = 'w'  # write rebuilds the file, so nothing is in the file!
READ ='r'
APPEND = 'a'
ReadWrite = 'w+'

你不会在你的代码中使用它,说实话,一般来说真的没用。您可以在调用open方法时直接使用这些方法。所以你可以不用它们。

最后,您似乎拥有未使用的导入语句:

import logging
import csv

通常,最好避免导入您未使用的模块。如果您打算在 future 中使用它们,最好养成在实际需要时导入它们的习惯。