반응형
Python 스크립트를 다른 스크립트로 가져 오시겠습니까?
Zed Shaw의 Learn Python The Hard Way를 살펴보고 레슨 26에 있습니다.이 레슨에서는 일부 코드를 수정해야하며 코드는 다른 스크립트의 함수를 호출합니다. 그는 우리가 테스트를 통과하기 위해 그것들을 가져올 필요가 없다고 말했지만 어떻게 그렇게 할 수 있을지 궁금합니다.
다음은 이전 스크립트를 호출하는 특정 코드 줄입니다.
words = ex25.break_words(sentence)
sorted_words = ex25.sort_words(words)
print_first_word(words)
print_last_word(words)
print_first_word(sorted_words)
print_last_word(sorted_words)
sorted_words = ex25.sort_sentence(sentence)
print sorted_words
print_first_and_last(sentence)
print_first_a_last_sorted(sentence)
수정할 코드 :
- 이것은 참조되는 과정의 코드입니다.
- 코드를 수정하기 위해 질문을 편집하지 마십시오.
def break_words(stuff):
"""This function will break up words for us."""
words = stuff.split(' ')
return words
def sort_words(words):
"""Sorts the words."""
return sorted(words)
def print_first_word(words)
"""Prints the first word after popping it off."""
word = words.poop(0)
print word
def print_last_word(words):
"""Prints the last word after popping it off."""
word = words.pop(-1
print word
def sort_sentence(sentence):
"""Takes in a full sentence and returns the sorted words."""
words = break_words(sentence)
return sort_words(words)
def print_first_and_last(sentence):
"""Prints the first and last words of the sentence."""
words = break_words(sentence)
print_first_word(words)
print_last_word(words)
def print_first_and_last_sorted(sentence):
"""Sorts the words then prints the first and last one."""
words = sort_sentence(sentence)
print_first_word(words)
print_last_word(words)
print "Let's practice everything."
print 'You\'d need to know \'bout escapes with \\ that do \n newlines and \t tabs.'
poem = """
\tThe lovely world
with logic so firmly planted
cannot discern \n the needs of love
nor comprehend passion from intuition
and requires an explantion
\n\t\twhere there is none.
"""
print "--------------"
print poem
print "--------------"
five = 10 - 2 + 3 - 5
print "This should be five: %s" % five
def secret_formula(started):
jelly_beans = started * 500
jars = jelly_beans \ 1000
crates = jars / 100
return jelly_beans, jars, crates
start_point = 10000
beans, jars, crates == secret_formula(start-point)
print "With a starting point of: %d" % start_point
print "We'd have %d jeans, %d jars, and %d crates." % (beans, jars, crates)
start_point = start_point / 10
print "We can also do that this way:"
print "We'd have %d beans, %d jars, and %d crabapples." % secret_formula(start_pont
sentence = "All god\tthings come to those who weight."
words = ex25.break_words(sentence)
sorted_words = ex25.sort_words(words)
print_first_word(words)
print_last_word(words)
.print_first_word(sorted_words)
print_last_word(sorted_words)
sorted_words = ex25.sort_sentence(sentence)
prin sorted_words
print_irst_and_last(sentence)
print_first_a_last_sorted(senence)
첫 번째 파일의 코드 구조에 따라 다릅니다.
다음과 같은 기능이 많은 경우 :
# first.py
def foo(): print("foo")
def bar(): print("bar")
그런 다음 가져 와서 다음과 같은 기능을 사용할 수 있습니다.
# second.py
import first
first.foo() # prints "foo"
first.bar() # prints "bar"
또는
# second.py
from first import foo, bar
foo() # prints "foo"
bar() # prints "bar"
또는 first.py에 정의 된 모든 이름 을 가져 오려면 :
# second.py
from first import *
foo() # prints "foo"
bar() # prints "bar"
참고 : 두 파일이 동일한 디렉토리에 있다고 가정합니다.
다른 디렉토리 나 패키지의 모듈에서 이름 (함수, 클래스 등)을 가져 오려는 경우 조금 더 복잡해집니다.
(적어도 파이썬 3에서는) 이것이 작동 __init__.py
하려면 동일한 디렉토리에 이름이 지정된 파일이 있어야한다는 점을 언급 할 가치가 있습니다 .
다음은 나를 위해 일했으며 매우 간단 해 보입니다.
./data/get_my_file.py 스크립트를 가져오고 그 안에있는 get_set1 () 함수에 액세스하려고한다고 가정 해 보겠습니다.
import sys
sys.path.insert(0, './data/')
import get_my_file as db
print (db.get_set1())
이 일을 바랍니다
def break_words(stuff):
"""This function will break up words for us."""
words = stuff.split(' ')
return words
def sort_words(words):
"""Sorts the words."""
return sorted(words)
def print_first_word(words):
"""Prints the first word after popping it off."""
word = words.pop(0)
print (word)
def print_last_word(words):
"""Prints the last word after popping it off."""
word = words.pop(-1)
print(word)
def sort_sentence(sentence):
"""Takes in a full sentence and returns the sorted words."""
words = break_words(sentence)
return sort_words(words)
def print_first_and_last(sentence):
"""Prints the first and last words of the sentence."""
words = break_words(sentence)
print_first_word(words)
print_last_word(words)
def print_first_and_last_sorted(sentence):
"""Sorts the words then prints the first and last one."""
words = sort_sentence(sentence)
print_first_word(words)
print_last_word(words)
print ("Let's practice everything.")
print ('You\'d need to know \'bout escapes with \\ that do \n newlines and \t tabs.')
poem = """
\tThe lovely world
with logic so firmly planted
cannot discern \n the needs of love
nor comprehend passion from intuition
and requires an explantion
\n\t\twhere there is none.
"""
print ("--------------")
print (poem)
print ("--------------")
five = 10 - 2 + 3 - 5
print ("This should be five: %s" % five)
def secret_formula(start_point):
jelly_beans = start_point * 500
jars = jelly_beans / 1000
crates = jars / 100
return jelly_beans, jars, crates
start_point = 10000
jelly_beans, jars, crates = secret_formula(start_point)
print ("With a starting point of: %d" % start_point)
print ("We'd have %d jeans, %d jars, and %d crates." % (jelly_beans, jars, crates))
start_point = start_point / 10
print ("We can also do that this way:")
print ("We'd have %d beans, %d jars, and %d crabapples." % secret_formula(start_point))
sentence = "All god\tthings come to those who weight."
words = break_words(sentence)
sorted_words = sort_words(words)
print_first_word(words)
print_last_word(words)
print_first_word(sorted_words)
print_last_word(sorted_words)
sorted_words = sort_sentence(sentence)
print (sorted_words)
print_first_and_last(sentence)
print_first_and_last_sorted(sentence)
참조 URL : https://stackoverflow.com/questions/15696461/import-python-script-into-another
반응형
'programing' 카테고리의 다른 글
C # WebBrowser에서 로컬 HTML 파일로드 (0) | 2021.01.18 |
---|---|
HTML 입력 태그의 글꼴 및 글꼴 크기를 변경하는 방법은 무엇입니까? (0) | 2021.01.18 |
새 연결을 생성하지 않고 몽구스 연결 상태 확인 (0) | 2021.01.18 |
Android 지원 디자인 라이브러리와 함께 제공되는 FAB에 그림자를 추가하는 방법은 무엇입니까? (0) | 2021.01.17 |
배열에 값이 있는지 확인 (AngularJS) (0) | 2021.01.17 |