<p>尝试一个<em>绝对</em>路径(即从根<code>/</code>开始的路径)</p>
<p><a href="https://en.wikipedia.org/wiki/Path_(computing)#Absolute_and_relative_paths" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Path_(computing)#Absolute_and_relative_paths</a></p>
<p>有关python中的相对路径,请参见<a href="https://stackoverflow.com/questions/918154/relative-paths-in-python">Relative paths in Python</a>,<a href="https://stackoverflow.com/questions/1270951/how-to-refer-to-relative-paths-of-resources-when-working-with-a-code-repository">How to refer to relative paths of resources when working with a code repository in Python</a></p>
<p>更新:</p>
<p>作为测试,请尝试使用<code>shell=True</code>选项<code>subprocess.Popen()</code>,并为任何相关文件提供一个绝对路径,包括<code>tmpWS5p0Z</code></p>
<p>在这个<code>subprocess.Popen()</code>调用涉及两条路径:</p>
<p>1)python路径,python必须找到<code>java</code>可执行文件和<code>stanford-corenlp-3.4.1.jar</code>,这实际上是一个具有自己路径的java程序</p>
<p>2)<code>stanford-corenlp-3.4.1.jar</code>的java路径</p>
<p>因为这太复杂了,试试看</p>
<p><code>p_tokenizer = subprocess.Popen(['/absolute_path_to/java -cp /absolute_path_to/stanford-corenlp-3.4.1.jar /absolute_path_to/edu.stanford.nlp.process.PTBTokenizer -preserveLines -lowerCase /absolute_path_to/tmpWS5p0Z' ], shell=True)</code></p>
<p><a href="https://stackoverflow.com/questions/1685157/python-specify-popen-working-directory-via-argument">Python specify popen working directory via argument</a></p>
<p><a href="https://stackoverflow.com/questions/30010939/python-subprocess-popen-error-no-such-file-or-directory">Python subprocess.Popen() error (No such file or directory)</a></p>