2017-09-26 2 views
1

오류 메시지가 taskhandler.py에서이 말한다 없습니다 : with open('./tasks.csv','r') as task_data: FileNotFoundError: [Errno 2] No such file or directory: './tasks.csv' FileNotFoundError : [errno를 2] 해당 파일이나 디렉토리, 그러나 파일은

그러나 실제로이 :

. 
 
├── feature 
 
│   ├── __init__.py 
 
│   ├── styles 
 
│   │   ├── __init__.py 
 
│   │   ├── termcolor.pyc 
 
│   │   ├── text_style.py 
 
│   ├── taskhandler.py 
 
│   └── tasks.csv 
 
├── __init__.py 
 
├── start.py 
 

 
1 directories, 8 files
여기

taskhandler.py

... 

def update_program(taskobj): 
    with open('./tasks.csv','r') as task_data: 
     csv_reader = csv.reader(task_data) 

     next(csv_reader) 

     for line in csv_reader: 

      if line in taskobj: 
       pass 
      else: 
       taskobj.append(line) 

    task_data.close() 

... 
코드입니다

이 문제를 해결하는 방법은 무엇입니까? 파일을 여는 방식에 실수가 있습니까? 내 다른 컴퓨터에서 그것을 시도하고 정상적으로 작동합니다.

UPDATE

참고 : 당신은 전체 소스 코드를 볼 수 내 github account에 가서 또는 원하는 경우에 당신은에서 실제 오류, pip3 install pydotask와 종류를 프로그램을 시도하고보고 싶었다 경우 터미널 pydo. 위 코드 및 디렉토리 중 일부는 github 및 pip 설치에서 약간 편집하고 재구성합니다. 그러나 문제는 동일하게 남아 있습니다.

이것은 CLI 프로그램이므로 Linux와 함께 사용해 보시기 바랍니다.

+7

"tasks.csv"라는 파일이있을 수 있지만 프로그램이 다른 장소에서 볼 가능성이 있습니다. "./"은 스크립트의 위치를 ​​나타내지 않으며 현재 작업 디렉토리를 나타냅니다. 그것들은 완전히 다른 두 곳일 수 있습니다. 파이썬이 "파일을 찾을 수 없다"고 말하면 그것이 존재하지 않는다고 가정하는 것이 안전합니다. –

+4

당신은'open ("tasks.csv")'이미 시도 했습니까 ("./")? –

+1

with-statement 전에'import os; print (os.getcwd())'. 현재 디렉토리가'tasks.csv'가 들어있는 디렉토리가 아니라는 것을 알 수 있습니다. 올바른 절대 경로 또는 상대 경로 ('os.path.join (parent_path, 'tasks.csv')')를 제공해야합니다. (대신에'os.chdir()'을 사용하여 작업 디렉토리를 변경할 수 있지만 그렇게하지는 마십시오.) –

답변

-2

csv 파일은 동일한 폴더에 있으므로 with open('tasks.csv','r') as task_data을 직접 시도해 볼 수 있습니다. 도움이 되었기를 바랍니다.

+2

아니요'with ('tasks.csv', 'r')을 task_data'로 사용하는 경우'with '(./ tasks.csv', 'r') as task_data'도 작동합니다. . 'taskhandler.py'가'tasks.csv'와 같은 디렉토리에 있기 때문에 스크립트가 같은 디렉토리에서 시작되었거나 작업 디렉토리가 변경되지 않았다는 것을 의미하지는 않습니다. 우리가 알기에'taskhandler.py'는'start.py'에 의해 임포트됩니다. –

관련 문제