2014-06-18 6 views
1

.txt 파일을 읽고 해당 파일 내의 데이터 열을 기반으로 배열을 만드는 함수가 있다고 가정 해보십시오. 내가 지금 함수처럼 보이는 내부에 있습니다.txt 파일을 함수 매개 변수로 전달하는 방법

data = open("some_file_name.txt","r") 

하지만 함수를 실행하기 전에 수동으로 새 파일 이름의 코드 및 유형에 갈 필요가 읽는이 .txt 파일을 변경하려는 경우 다시. 난 당신이

def my_function(filepath): 
    data = open(filepath, "r") 
    ... 

다음

my_function("/filepath/some_file_name.txt") 

이상을 원한다고 생각

my_function(/filepath/some_file_name.txt): 
    data = open("specified_file_name.txt","r") 

답변

1

: 같은 대신, 함수에 모든 파일 이름을 전달 할 수있는 방법이 보인다 있도록

def my_function(data): 
    ... 

다음에

with open("/filepath/some_file_name.txt", "rb") as data: 
    my_function(data) 

후자 버전에서는 모든 파일과 같은 객체를 my_function()으로 전달할 수 있습니다.

업데이트 : 당신은 멋진 얻을 수 및 파일 이름이나 파일을 허용 할 경우 처리 : 신속한 응답을

def my_func(data): 
    if isinstance(data, basestring): 
     with open(data, 'rb') as f: 
      return my_func(f) 
    ... 
+0

감사합니다! – user3555455

관련 문제