标签:nbsp lock inux 两种方法 错误 异常 dem 输出 指定
helloWorld helloPython helloJava
在该文件中,有三行字符串,接下来,我们就可以来读取打印它,代码如下:
1 #方法一 2 file_hello = open(‘hello.txt‘) 3 content = file_hello.read() 4 print(content) 5 file_hello.close() 6 7 #方法二 8 with open(‘hello.txt‘) as file_hello: 9 contents = file_hello.read() 10 print(contents)
运行后得到结果:
1 helloWorld 2 helloPython 3 helloJava 4
在有了文件的对象后,可以使用方法read()来读取这个文件的全部内容,并将读取到的文件存储在contents变量中,然后直接打印contents就可以了
1 with open(‘hello.txt‘) as file_hello: 2 contents = file_hello.read() 3 print(contents.rstrip())
运行后得到结果:
1 helloWorld 2 helloPython 3 helloJava
1 #方法一: 2 file_path = ‘txt_file/hello.txt‘ 3 with open(file_path) as file_hello: 4 for line in file_hello: 5 print(line) 6 7 #方法二: 8 file_path = ‘txt_file/hello.txt‘ 9 with open(file_path) as file_hello: 10 lines = file_hello.readlines() 11 print(lines) 12 for line in lines: 13 print(line)
运行后得到结果:
1 方法一: 2 helloWorld 3 4 helloPython 5 6 helloJava 7 8 方法二: 9 [‘helloWorld\n‘, ‘helloPython\n‘, ‘helloJava\n‘] 10 helloWorld 11 12 helloPython 13 14 helloJava 15
以上我们使用了两种方法来进行逐行读取。方法一,我们直接通过for循环来遍历file_hello变量,这种方法有一个缺点,那就是只能在with代码块内可用,所以我们如果想要脱离with代码块去进行逐行读取,就可以采用第二种方法。在方法二中,我们使用readlines()这个方法,readlines()方法从文件中读取每一行,并将其存储在一个列表中,然后我们使用lines然后存储这个列表就可以了,在以后的读取中,就可以直接脱离with代码块,直接对lines进行遍历。
1 with open(‘txt_file/hello.txt‘) as file_hello:
以上为OS X和Linux的打开方式,如果是windows下,需要使用“\”来指定路径
我们也可以使用绝对路径来读取文件,当相对路径找不到文件时,就可以使用绝对路径
1 file_path = ‘/Users/yezhenxiang/PycharmProjects/Test/txt_file/hello.txt‘ 2 with open(file_path) as file_hello:
1 file_path = ‘txt_file/hello.txt‘ 2 with open(file_path, ‘w‘) as file_hello: 3 file_hello.write(‘hello demo‘)
然后我们打开文件会发现文件中的内容变了
1 hello demo
上述的代码中我们仍然使用open()函数来实现,但是在函数内变成了两个实参,第一个是要打开的文件,第二个‘w‘表示要以写入的模式打开文件
在使用w写入文件时,要注意的是在python会在返回文件对象前清空该文件,所以在执行完with open(file_path, ‘w‘) as file_hello时,文件中的内容将会被清空。
1 file_path = ‘txt_file/hello.txt‘ 2 with open(file_path, ‘a‘) as file_hello: 3 file_hello.write(‘\nhello python‘)
在代码中,我们指定实参‘a‘,以附加的模式去进行文件的写入,这样我们就不会去清空原来文件中的内容
运行后的结果:
hello demo
hello python
标签:nbsp lock inux 两种方法 错误 异常 dem 输出 指定
原文地址:https://www.cnblogs.com/lw-whatever/p/11710009.html