我有一个文件,其名称是5_1.txt在我直接命名的目录中,
如何使用读取的指令读取该文件.
我使用以下方法验证了路径
import os
os.getcwd()
os.path.exists(direct)
Run Code Online (Sandbox Code Playgroud)
结果是
真的
x_file=open(direct,'r')
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
Traceback (most recent call last):
File "<pyshell#17>", line 1, in <module>
x_file=open(direct,'r')
IOError: [Errno 13] Permission denied
Run Code Online (Sandbox Code Playgroud)
我不知道为什么我看不懂文件?有什么建议吗?
谢谢 .
ale*_*xis 27
看起来你正试图打开一个目录进行阅读,就像它是一个普通文件一样.许多操作系统都不允许你这样做.你无论如何都不需要,因为你想要的东西(从你的描述来看)是
x_file = open(os.path.join(direct, "5_1.txt"), "r")
Run Code Online (Sandbox Code Playgroud)
或者干脆
x_file = open(direct+"/5_1.txt", "r")
Run Code Online (Sandbox Code Playgroud)
bra*_*rin 11
如果你不在指定的目录(即直接),你应该使用(在Linux中):
x_file = open('path/to/direct/filename.txt')
Run Code Online (Sandbox Code Playgroud)
请注意引号和目录的相对路径.
这可能是您的问题,但您也无权访问该文件.也许你正试图以另一个用户的身份打开它.
您无法使用该函数“打开”目录open。该函数旨在用于打开文件。
在这里,您要做的是打开目录中的文件。您必须做的第一件事是计算该文件的路径。该函数将允许您通过连接部分路径(目录和文件名)来实现这一点:os.path.join
fpath = os.path.join(direct, "5_1.txt")
Run Code Online (Sandbox Code Playgroud)
然后您可以打开该文件:
f = open(fpath)
Run Code Online (Sandbox Code Playgroud)
并阅读其内容:
content = f.read()
Run Code Online (Sandbox Code Playgroud)
此外,我相信在 Windows 上,open在目录上使用确实会返回PermissionDenied异常,尽管事实并非如此。
| 归档时间: |
|
| 查看次数: |
150012 次 |
| 最近记录: |