擅长:python、mysql、java
<p>当运行第二个脚本时,您的工作目录将是该脚本所在的目录。即使从不同的包/目录导入和使用文件,也会保留该工作目录。你知道吗</p>
<p>所以如果你的垃圾桶_搁置.py脚本和搁置位于不同的目录/包中,因此无法打开正确的文件。你知道吗</p>
<p>如果您在dump\u ora中提供“oracle shelve”的完整路径_搁置.py应该有用。你知道吗</p>
<p><strong>更新:</strong></p>
<p>在你的垃圾堆里_搁置.py'文件:</p>
<pre><code>ABS_DIR = os.path.dirname(os.path.abspath(__file__))
</code></pre>
<p>这将为您提供“dump\u ora”目录的绝对路径_搁置.py'. 加入数据库名称:</p>
<pre><code>shelve_db = os.path.join(ABS_DIR, 'oracle-shelve')
</code></pre>
<p>最后:</p>
<pre><code>db = shelve.open(shelve_db)
</code></pre>
<p>这假设您的“oracle shelve”与“dump\u ora”位于同一目录中_搁置.py'</p>