我发现,要处理文件名给定的文件,我需要做什么
import os
dir = os.path.dirname(__file__)
filename = os.path.join(dir, '/relative/path/to/file/you/want')
或者
import os
dir = os.getcwd()
filename = os.path.join(dir, '/relative/path/to/file/you/want')
但如果我这么做了
filename = 'myfile.txt'
那么在哪里找这个文件呢?你知道吗
创建了一个简单的python脚本(
open.py
),并用strace
运行它。你知道吗剧本:
Strace命令:
strace ./open.py
这让我看到(只显示相关部分):
查看
open
系统调用得到了python脚本中提供的路径。open
将尝试打开当前工作目录中的文件,该目录是运行程序的位置。你知道吗简答:在当前工作目录中。你知道吗
长答案:
从https://docs.python.org/2/library/stdtypes.html#bltin-file-objects
从https://docs.python.org/2/library/functions.html#open
因此,可以通过查看
stdio
的文档来回答这个问题:从http://www.cplusplus.com/reference/cstdio/fopen/
“运行环境的规范”意味着它将对其进行解释,就好像您输入了运行文件的路径,也就是cwd。你知道吗
例如,如果我在
~/Desktop/temp.py
中有一个脚本,该脚本如下:我有一个位于
~/Desktop/log.txt
的文件,我得到以下输出:但是如果我
cd ..
然后再试一次:只是为了验证:
因此,您可以看到它试图相对于我运行脚本的目录打开它,而不是相对于脚本所在的目录。你知道吗
相关问题 更多 >
编程相关推荐