python-目录名文件名到文本文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-目录名文件名到文本文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1645字,纯文字阅读大概需要3分钟。
内容图文
![python-目录名文件名到文本文件](/upload/InfoBanner/zyjiaocheng/656/abfd4b9bffc048348bedf9645ab650c7.jpg)
我有许多包含文件的目录.我想创建一个逗号分隔的txt文件,其中显示目录名称以及该特定目录中的文件,请参见以下示例:
我在寻找什么:
DirName,Filename
999,123.tif
999,1234.tif
999,abc.tif
900,1236.tif
900,xyz.tif
...etc
下面的python代码将这些文件路径的列表推入文本文件,但是我不确定如何如上所述格式化列表.
我当前的代码如下:
更新资料
我现在可以格式化文本文件,但是我注意到所有目录名称/文件名都没有写入文本文件.它仅写入?8000目录/文件中的?4000.我对文本文件的行数,列表(mylist)大小或阻止它的坏文件目录/文件字符有什么限制(请参见下面的更新代码)?
from os import listdir
from os.path import isfile, join
root = r'C:\temp'
mylist = ['2']
for path, subdirs, files in os.walk(root):
for name in files:
mylist.append(os.path.join(path, name))
txt = open(r'C:\temp\output.txt', 'w')
txt.write('dir' + ',' + 'file' + '\n')
for item in mylist:
list = mylist.pop(0)
dir, filename = os.path.basename(os.path.dirname(list)), os.path.basename(list)
txt.write(dir + ',' + filename + '\n')
with open(r'C:\temp\output.txt', 'r') as f:
read_data = f.read()
谢谢
解决方法:
也许这会有所帮助:
您可以获取绝对文件路径,然后执行以下操作
import os.path
p = "/tmp/999/123.tif"
dir, filename = os.path.basename(os.path.dirname(p)), os.path.basename(p)
结果:
In [21]: dir
Out[21]: '999'
In [22]: filename
Out[22]: '123.tif'
还可以考虑使用csv模块来编写此类文件.
import csv
import os.path
# You already have a list of absolute paths
files = ["/tmp/999/123.tif"]
# csv writer
with open('/tmp/out.csv', 'wb') as out_file:
csv_writer = csv.writer(out_file, delimiter=',')
csv_writer.writerow(('DirName','Filename'))
for f in files:
csv_writer.writerow((os.path.basename(os.path.dirname(f)),
os.path.basename(f)))
内容总结
以上是互联网集市为您收集整理的python-目录名文件名到文本文件全部内容,希望文章能够帮你解决python-目录名文件名到文本文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。