• 游啊游
  • 信仰
  • 原点
  • 清明
  • 关不上的窗
  • 雨一直下-古筝
  • 你的样子
  • Sofía
  • Suddenly
  • Traveling Light
  • 城南花已开
  • 简单与秋夜
  • 最美的期待
Oo笑容太甜oO/

python3之File文件方法


Python File Open

File Handling

The key function for working with files in Python is the open() function.

The open() function takes two parameters;

filename

, and

mode

.

There are four different methods (modes) for opening a file:

"r" - Read - Default value. Opens a file for reading, error if the file does not exist

"a" - Append - Opens a file for appending, creates the file if it does not exist

"w" - Write - Opens a file for writing, creates the file if it does not exist

"x" - Create - Creates the specified file, returns an error if the file exists

In addition you can specify if the file should be handled as binary or text mode

"t" - Text - Default value. Text mode

"b" - Binary - Binary mode (e.g. images)

Syntax

#To open a file for reading it is enough to specify the name of the file:
f = open("demofile.txt")

#The code above is the same as:
f = open("demofile.txt", "rt")

#Because "r" for read, and "t" for text are the default values,
#you do not need to specify them.

Python File Read

Open a File on the Server

Asume we have the following file, located in the same folder as Python:

demofile.txt

Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!

To open the file, use the built-in open() function.

The open() function returns a file object, which has a read() method for reading the content of the file:

Example

f = open("demofile.txt", "r")
print(f.read())

Read Only Parts of the File

By default the read() method returns the whole text, but you can also specify how many character you want to return:

Example

#Return the 5 first characters of the file:
f = open("demofile.txt", "r")
print(f.read(5))

Read Lines

You can return one line by using the readline() method:

Example

#Read one line of the file:
f = open("demofile.txt", "r")
print(f.readline())

Example

#By calling readline() two times, you can read the two first lines: #Read two lines of the file: f = open("demofile.txt", "r") print(f.readline()) print(f.readline())

Example

#By looping through the lines of the file, you can read the whole file, line by line:
#Loop through the file line by line:
f = open("demofile.txt", "r")
for x in f:
  print(x)

Python File Write/Create

Write to an Existing File

To write to an existing file, you must add a parameter to the open() function:

"a" - Append - will append to the end of the file

"w" - Write - will overwrite any existing content

#Example

#Open the file "demofile.txt" and append content to the file:
f = open("demofile.txt", "a")
f.write("Now the file has one more line!")
#Example

#Open the file "demofile.txt" and overwrite the content:
f = open("demofile.txt", "w")
f.write("Woops! I have deleted the content!")

#Note: the "w" method will overwrite the entire file.

Create a New File

To create a new file in Python, use the open() method, with one of the following parameters:

"x" - Create - will create a file, returns an error if the file exist

"a" - Append - will create a file if the specified file does not exist

"w" - Write - will create a file if the specified file does not exist

#Example

#Create a file called "myfile.txt":
f = open("myfile.txt", "x")

#Result: a new empty file is created!
#Example

#Create a new file if it does not exist:
f = open("myfile.txt", "w")

Python  File Delete

Delete a File

To delete a file, you must import the OS module, and run its os.remove() function:

Example

#Remove the file "demofile.txt":
import os
os.remove("demofile.txt")

Check if File exist:

To avoid getting an error, you might want to check if the file exist before you try to delete it:

Example

#Check if file exist, then delete it:
import os
if os.path.exists("demofile.txt"):
  os.remove("demofile.txt")
else:
  print("The file does not exists")

Delete Folder

To delete an entire folder, use the os.rmdir() method:

Example

#Remove the folder "myfolder":
import os
os.rmdir("myfolder")

Note: You can only remove

empty

folders.

 

暂无评论