我遇到了一个奇怪的问题,我不太确定如何解决。我有一个 Python-selenium 脚本,它使用相对路径将结果记录到文本文件中。
这是设置日志文件的脚本部分:
log_file = './demo-logfiles/log_file_template.txt'
sys.stdout = open('log_file_template.txt', 'a',)
如您所见,它使用文件夹的相对路径。如果我将此脚本运行为:
python demo.py firefox MAC
,它将完美运行,并且日志文件将被发送到正确的文件夹。
如果我从一个更大的 shell 脚本中运行这个确切的 Python 脚本,它会返回一个'./demo-logfiles/log_file_template.txt'
不存在的错误。
我发现如果我将脚本更改为'../demo-logfiles/log_file_template.txt'
它可以在更大的 shell 脚本中工作,但如果我正常运行它就会停止工作。
它要么在一个中工作,要么在另一个中工作。以不同方式解释相对目录的原因是什么?我不想让两个单独的脚本在 Python/shell 中运行。
原始的python脚本在目录/blah/blah/DEMO/demo.py
中,运行它的shell脚本在/blah/blah/DEMO/demo-autotest/autotest_logger.sh
我已确认我尝试运行的任何脚本都会出现此问题。我不必更改原始 Python 代码以使其与 shell 脚本一起使用。我已经在 shell 脚本中解释了它,它成功地运行了该文件。
谢谢。