Dropbox 功能无法从其他本地文件导入或工作

Dropbox function not importing or working from other local file

我有两个 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!

但是没有 dropbox 上传

正在正确导入函数。问题出在这部分:

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