获取当前目录 - 'os'和'subprocess'库被禁止



我被困在岩石和坚硬的地方。

我得到了一个非常受限的Python2/3环境,其中ossubprocess库都被禁止。我正在使用Python selenium测试文件上传功能;创建文件是直接的,但是,当我使用方法driver.send_keys(xyz)时,send_keys需要一个完整的路径,而不仅仅是一个文件名。关于如何解决这个问题,有什么建议吗?

我不知道它是否能在非常受限的Python2/3中工作,但您可以尝试以下操作:

创建空文件,比如说empty.py,就像这样:

with open('empty.py','w') as f:
pass

然后执行:

import empty

和:

pathtofile = empty.__file__
print(pathtofile)

这个利用事实的空文本文件是合法的python模块(记住设置不使用的名称(,并且通常导入机器集__file__dunder,尽管这不是必需的,所以您可能会以None结束。请记住,如果它不是None,那么它就是所述文件(empty.py(的路径,因此您需要进一步处理它以获得目录本身。

如果没有办法使用os模块,除非脚本的位置是静态的(即,您将当前工作目录定义为常量(,然后您自己处理该目录中的所有路径/字符串操作,否则您似乎是SOL。

你将无法浏览目录中的内容,但你可以监视你创建的任何文件,只需自己存储路径,这会很乏味,但没有理由不起作用。

你将无法删除文件,我不认为,但你应该能够清除他们的内容

最新更新