读取同一文件夹中的文件 - 改进?
Reading file in the same folder - Improvement?
我正在编写 python 脚本。我在打开文件时遇到了一些问题。错误总是系统找不到文件。
因此,我尝试获取活动路径...替换反斜杠...等等....
在处理同一文件夹中的文件时是否有任何改进?
代码
import os
# The name of the txt file that is in the same folder.
myFile = 'noticia.txt'
# Getting the active script
diretorio = os.path.dirname(os.path.abspath(__file__))
# Replace BackSlash and concatenate myFile
correctPath = diretorio.replace("\", "/") + "/" + myFile
# Open file
fileToRead = open(correctPath, "r")
# Store text in a variable
myText = fileToRead.read()
# Print
print(myText)
注:
脚本与txt文件在同一个文件夹中。
Is there any improvements to work with the file in the same folder?
首先,请参阅 PEP 8 了解变量名称的标准约定。
correctPath = diretorio.replace("\", "/") + "/" + myFile
虽然在代码中指定新路径时首选正斜杠,但无需替换 Windows 提供的路径中的反斜杠。 Python and/or Windows 将根据需要在幕后进行翻译。
但是,最好使用 os.path.join
组合路径组件(类似于 correct_path = os.path.join(diretorio, my_file)
)。
fileToRead = open(correctPath, "r")
# Store text in a variable
myText = fileToRead.read()
最好使用with
块来管理文件,这样可以确保它正确关闭,如下所示:
with open(correct_path, 'r') as my_file:
my_text = my_file.read()
我正在编写 python 脚本。我在打开文件时遇到了一些问题。错误总是系统找不到文件。
因此,我尝试获取活动路径...替换反斜杠...等等....
在处理同一文件夹中的文件时是否有任何改进?
代码
import os
# The name of the txt file that is in the same folder.
myFile = 'noticia.txt'
# Getting the active script
diretorio = os.path.dirname(os.path.abspath(__file__))
# Replace BackSlash and concatenate myFile
correctPath = diretorio.replace("\", "/") + "/" + myFile
# Open file
fileToRead = open(correctPath, "r")
# Store text in a variable
myText = fileToRead.read()
# Print
print(myText)
注:
脚本与txt文件在同一个文件夹中。
Is there any improvements to work with the file in the same folder?
首先,请参阅 PEP 8 了解变量名称的标准约定。
correctPath = diretorio.replace("\", "/") + "/" + myFile
虽然在代码中指定新路径时首选正斜杠,但无需替换 Windows 提供的路径中的反斜杠。 Python and/or Windows 将根据需要在幕后进行翻译。
但是,最好使用 os.path.join
组合路径组件(类似于 correct_path = os.path.join(diretorio, my_file)
)。
fileToRead = open(correctPath, "r")
# Store text in a variable
myText = fileToRead.read()
最好使用with
块来管理文件,这样可以确保它正确关闭,如下所示:
with open(correct_path, 'r') as my_file:
my_text = my_file.read()