Python - 在目录中读取文件名,对文本文件写入两次(一个没有文件扩展名),并用管道

时间:2017-06-21 03:52:15

标签: python

我有一个带有一些文件的目录(c:\ temp):

a.txt  
b.py  
c.html

我需要读取目录中的所有文件并将其输出到文本文件。我已经完成了那部分处理(我认为):

WD = "c:\\temp"

import glob

files = glob.glob('*.*')
with open('dirList.txt', 'w') as in_files:
    for eachfile in files: in_files.write(eachfile + '\n')

我需要输出看起来像:

a|a.txt  
b|b.py  
c|c.html

我不太确定下一步该去哪看。

2 个答案:

答案 0 :(得分:0)

我将文件名拆分为.并取下第一部分:

for eachfile in files:
    in_files.write('%s|%s\n' % (eachfile.split('.')[0], eachfile))

答案 1 :(得分:0)

你几乎解决了你的问题。我不太清楚你在哪里被卡住了。如果你需要写的只是文件名(没有扩展名),后跟|,那么你只需要更新你的代码:

import glob

files = glob.glob('*.*')
with open('dirList.txt', 'w') as in_files:
    for eachfile in files:
        file_name_without_extension = eachfile.split(".")[0]
        in_files.write( file_name_without_extension + "|" + eachfile 
+ '\n')