擅长:python、mysql、java
<p>我认为这句话:</p>
<pre><code>dicom_file = os.path.join("/",dirName,filename)
</code></pre>
<p>可能是个问题?它将把这三者连接起来,形成一条以“/”为根的路径。例如:</p>
^{pr2}$
<p>将为您提供“/directory/file”(绝对路径),同时:</p>
<pre><code>os.path.join("directory","file")
</code></pre>
<p>将为您提供“目录/文件”(相对路径)</p>
<p>如果你知道你想要的所有文件都是“*.dcm”
您可以尝试glob模块:</p>
<pre><code>import glob
files_with_dcm = glob.glob("*.dcm")
</code></pre>
<p>这也适用于完整路径:</p>
<pre><code>import glob
files_with_dcm = glob.glob("/full/path/to/files/*.dcm")
</code></pre>
<p>但同时,操作系统列表目录(dirName)将包括目录中的所有内容,包括其他目录、点文件等</p>
<p>您的存在=os.path.isfile文件(dicom_文件)行将过滤掉所有非文件,如果你使用“如果存在:”之前阅读。在</p>
<p>如果您知道模式,我建议使用glob方法,否则:</p>
<pre><code>if exists:
try:
ds = dicom.read_file(dicom_file)
except InvalidDicomError as exc:
print "something wrong with", dicom_file
</code></pre>
<p>如果你做了一个尝试/例外,如果存在:有点多余,但不伤害。。。在</p>