python - 使用相对路径从另一个 py 脚本运行 py 脚本
问题描述
当两个脚本位于同一目录中时,有答案。
但是,对于相对路径,我无法获得此处提到的任何答案。它们适用于已知完整路径的情况。
我有以下文件夹层次结构
我需要在 command.py 中调用并运行 sub.py
以下是commander.py
import importlib.util
spec = importlib.util.spec_from_file_location('sub.py', '..//main/sub/sub.py')
foo = importlib.util.module_from_spec(spec)
spec.loader.exec_module(foo)
foo.main()
它当然可以识别该目录,因为我可以看到在子文件夹中创建了 pycache '文件夹。
但是子脚本没有运行。我已经手动启动了子脚本,我知道它可以正常工作。
子脚本具有以下结构
import stuff
def main():
do stuff
return
while true:
main()
break
我是 python 新手。我也试过:
import sys
sys.path.insert(0, '..\\main\sub')
import sub.py
sub.main()
我正在使用 py 3.7 没有错误
解决方案
import subprocess
import os
main_path = os.getcwd()
relative_path =r'..\\Main\sub'
filepath=os.path.join(main_path, relative_path[9:])
subprocess.call('python {filepath}', shell=True)
推荐阅读
- excel - Excel - 将以 Z 结尾的 ISO8601 日期转换为适合输入“带有时区的时间戳”类型的 Postgres 字段的格式
- javascript - 使用带有数据的数组使用带有模板的迭代 #each 来制作元素
- google-bigquery - Big query error:Failed to parse input string
- node.js - 为什么在nodejs中没有触发标头事件
- python - I can't get parent page query in wagtail
- encryption - Lazysodium for Java cannot initialize sodium object
- html - 轮播高度问题,默认轮播高度太大
- regex - Regular Expression for poorly defined key value pairs
- python-2.7 - 使用 python 软件编码和使用文件 - 网络攻击的安全性?
- openpyxl - 将多个 openpyxl 工作表整理到不同的工作簿中?