函数中的NameError(python 3.6)

时间:2018-05-02 17:45:23

标签: python python-3.x function

我需要定义一个打开文本文件,读取它,然后将整个文件加载到字符串中的函数。这就是我到目前为止所做的:

def encrypt_file(filename):
    open_file = open(filename, 'r')
    file_content = filename.read()
    filename.close()

encrypt_file(filename)
user_input = input('enter file name: ')

这是我得到的错误:

  

encrypt_file(文件名)
  NameError:名称'filename'未定义

我在这里做错了什么?

3 个答案:

答案 0 :(得分:0)

filename var尚未定义,您必须稍微交换一行:

filename = input('enter file name: ')
encrypt_file(filename)

How To Handle Plain Text Files in Python 3 和SO问题的一些介绍:How do I read a text file into a string variable in Python对您有用。

答案 1 :(得分:0)

你的代码无论如何都不会工作。

pol <- mydf %>% select(SchoolDist)
plot(pol)

最佳实践:

def encrypt_file(filename):
    open_file = open(filename, 'r')
    file_content = open_file.read()
    open_file.close()

some_filename = input('enter file name: ')
encrypt_file(some_filename)

答案 2 :(得分:-1)

也许您想要做的是:

def encrypt_file(filename):
    open_file = open(filename, 'r')
    file_content = filename.read()
    open_file.close()

filename = input('enter file name: ')
encrypt_file(filename)

请注意open_file.close()行的修正。