1

我正在编写一个结构文件,它将获取数据集,将其发送到服务器,在其上运行分析脚本并检索结果。如果我硬编码我的脚本的位置,process_script我一切都很好。但是,我想将脚本作为文件包含在模块中,因此希望能够访问该文件而无需对位置进行硬编码。我可以使用导入系统吗?我不知道。这是我想做的工作版本:

#data, script
datafile       = 'data.txt' 
process_script = 'process.py'

#simple function    
def upload_and_run():
    newdir = remote_dir + '/process_temp'
    put(datafile, newdir)
    put(process_script, newdir)
    with cd(newdir):
        run('python2.6 process.py {0}'.format(datafile))
    get(newdir,'%(path)s')

#pseudocode of how I'd like to access the process_script
process_script = from module import script
put(process_script, newdir)

任何建议表示赞赏,谢谢,zach cp

4

1 回答 1

0

根据thisthis.__file__ ,我可以使用模块的属性访问模块路径。然后使用该路径对脚本进行硬编码。

import os
path = os.path.dirname(my_module.__file__)
process_script = path+ 'process.py'
put(process_script)
于 2013-01-30T00:25:22.693 回答