我目前在我的代码中有以下功能: -
def openFiles():
file1 = open('file1.txt', 'w')
file2 = open('file2.txt', 'w')
我现在希望做的是,第二种方法是写入打开的文件。但是,每当我尝试使用例如“file1.write(”hello“)”写入文件时,都会返回错误,通知我"global variable 'file1' is not defined"
。我已经尝试在代码的开头将'file1'声明为字符串,但显然,因为它不是字符串而是对象,我不确定如何写入它。
有什么建议吗?我想要一些函数来访问文件,因此我想要一个单独的函数打开它们。
由于
已编辑以代表课程
class TestClass:
def openFiles():
file1 = open('file1.txt', 'w')
file2 = open('file2.txt', 'w')
def write_to_files():
????????
答案 0 :(得分:9)
您可以使用python global关键字,如下所示。
def openFiles():
global file1
global file2
file1 = open('file1.txt', 'w')
file2 = open('file2.txt', 'w')
def writeFiles():
file1.write("hello")
openFiles()
writeFiles()
但是我会建议您使用一个类来代替。例如。
class FileOperations:
def open_files(self):
self.file1 = open('file1.txt', 'w')
self.file2 = open('file2.txt', 'w')
def write_to_files(self):
self.file1.write("hello")
然后你可以这样做:
>>> fileHandler = FileOperations()
>>> fileHandler.open_files()
>>> fileHandler.write_files()