我有两个python文件,一个是我编写和存储函数的地方,另一个是在使用它们的地方。
“ HW”功能会导入并运行,但是dbxupld不会。谁能建议我如何使它工作。非常感谢。
Python_script1.py
def HW():
print('Hello, World!')
def dbxupld(FileFROM,FileTO):
import dropbox
class TransferData:
def __init__(self, access_token):
self.access_token = access_token
def upload_file(self, file_from, file_to):
dbx = dropbox.Dropbox(self.access_token)
with open(file_from, 'rb') as f:
dbx.files_upload(f.read(), file_to)
def main():
access_token = "[access code hidden]"
transferData = TransferData(access_token)
file_from = FileFROM
file_to = FileTO
transferData.upload_file(file_from, file_to)
if __name__ == '__main__':
main()
Python_script2.py
from Python_script1 import HW
from Python_script1 import dbxupld
HW()
FileFROM = '/home/Setup stuff.pdf'
FileTO = '/upload_testing/Setup Stuff.pdf'
dbxupld(FileFROM,FileTO)
退出:
Hello, World!
但没有保管箱上传
答案 0 :(得分:1)
该功能已正确导入。问题出在这部分:
if __name__ == '__main__':
main()
由于要在Python_script2中导入Python_script1,因此Python_script1中的__name__
的值为Python_script1
而不是__main__
。不满足条件,并且永远不会调用main
。为此,请删除条件if __name__ == 'main'
。
有关__main__
和__name__
的更多信息,请参考https://docs.python.org/3/library/main.html