2017-07-24 77 views
0

我是新来的学习python,我不知道哪个默认目录python用来打开文件。如何在python中打开文件,当文件存储在所有.py文件存储的目录中时,以及如何在存储在不同目录中时打开文件

我已阅读了一些在stackoverflow上的类似问题的答案,但没有帮助我。我正在运行python 3.6.2。

我有以下其中 '的test.txt' 文件存储存储所有的.py文件,其中的代码,但我得到

FileNotFoundError: [Errono 2] No such file or directory: 'test.txt'

handle = open('test.txt') 
for line in handle: 
    print(line) 
+0

谢谢! 假设我在/ home/jay/config目录中有100个文件,并且在/ home/jay目录中有.py文件。我如何打开所有文件和搜索模式? 我尝试以下,并得到了错误: '进口re' '进口os' 'os.chdir(R '/家庭/桧/ CONFIGS /')'' 文件=打开( '*')' '在文件行:'' 线= line.rstrip()'' 如果re.search( '示范',线):'' 打印(线)' 回溯(最近通话最后一个): 文件“/home/juniper/test.py”,第4行,在? files = open('*') IOError:[Errno 2]没有这样的文件或目录:'*' – Jay

回答

0

模块有一个__file__ att ribute指向模块加载的完整路径和文件名。您可以使用pathlib模块来提取路径(剪切.py-文件名)并构建新的完整路径名。

import mymodule 

with open(pathlib.path(mymodule.__file__).parent/'test.txt') as f: 
    for line in f: 
     print(line) 

无论mymoduletest.txt加载这样将打开。

+0

不知道我该如何创建模块以及哪个目录可以放置该模块。 – Jay

0

我使用Linux的,如果我想打开在不同位置的文件比我当前的工作目录我会做这个

myfile = open('/user/path/file')

例如

myfile = open('/root/Desktop/css/base.css', 'r')

+0

我试过这个'handle = open('C:\ Users \ jay \ Documents \ Python Code \ test')',并且给了我同样的错误。我正在使用Windows。 – Jay

+0

谢谢!有效!!。正在输入错误的文件名.. – Jay

+0

标记问题已解决 – pariaslunkamba

相关问题