鱼C论坛

 找回密码
 立即注册
查看: 789|回复: 11

[已解决]提取文件名不是这个样子吗

[复制链接]
发表于 2019-3-25 09:45:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. from os import listdir

  2. for files in listdir("e:\gcc-html\gcc"):
  3.    print(files[0])   #返回第一个文件名
复制代码


返回一串子单行单字符  不是文件名啊
最佳答案
2019-3-25 10:11:17
wp231957 发表于 2019-3-25 10:09
这样虽然可以,但是不能进行后续工作啊  还是要放在循环里

用了for循环,每次都是拿出一个字符串出来,不用再取[0]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-25 09:48:33 | 显示全部楼层
listdir函数返回的列表,里面每个元素就是一个字符串
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 09:53:41 | 显示全部楼层
BngThea 发表于 2019-3-25 09:48
listdir函数返回的列表,里面每个元素就是一个字符串


一楼代码 执行结果:

e:\>python ex14.py
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
B
B
B
B
B
B
B
B
C
C
C
C
C
C
C
C
C
C
c
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
C
D
D
d
D
D
D
D
D
D
D
D
D
D
D
D
D
E
E
E
E
E
E
E
E
f
F
F
F
F
F
F
F
F
F
F
太长了 后面没都贴
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-25 09:56:51 | 显示全部楼层
本帖最后由 jackz007 于 2019-3-25 10:00 编辑
  1. from os import listdir

  2. for files in listdir("e:\gcc-html\gcc"):
  3.    print(files[0])   #返回第一个文件名
复制代码

    上面的代码每次打印的只是文件名的第一个字符
    下面的代码打印整个字符串,而不是第一个字符
  1. from os import listdir

  2. for files in listdir("e:\gcc-html\gcc"):
  3.    print(files)   #返回第一个文件名
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 09:57:27 | 显示全部楼层
刚刚测试,一楼代码 在交互模式下 正常  能够得到完整文件名  

在运行模式下,就不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-25 09:58:27 | 显示全部楼层
wp231957 发表于 2019-3-25 09:53
一楼代码 执行结果:

e:\>python ex14.py

print的时候为什么要加[0],这不就是取出字符串的第一个字符吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 10:00:53 | 显示全部楼层
BngThea 发表于 2019-3-25 09:58
print的时候为什么要加[0],这不就是取出字符串的第一个字符吗
  1. >>> print(files[1])
  2. Alignment.html
复制代码


我要提取第二个文件名  交互模式下就能做到

用[0] 不是提取第一个文件名吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 10:03:47 | 显示全部楼层
jackz007 发表于 2019-3-25 09:56
上面的代码每次打印的只是文件名的第一个字符
    下面的代码打印整个字符串,而不是第一个字符

下面的代码是打印所有文件名  而不是某个文件名
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 10:09:28 | 显示全部楼层
本帖最后由 wp231957 于 2019-3-25 10:10 编辑
  1. # coding: utf-8
  2. from os import listdir

  3. files=listdir('e:\gcc-html\gcc')
  4. print(files[0])   #返回第一个文件名
复制代码


这样虽然可以,但是不能进行后续工作啊  还是要放在循环里
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-3-25 10:11:17 | 显示全部楼层    本楼为最佳答案   
wp231957 发表于 2019-3-25 10:09
这样虽然可以,但是不能进行后续工作啊  还是要放在循环里

用了for循环,每次都是拿出一个字符串出来,不用再取[0]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 10:15:00 | 显示全部楼层
  1. # coding: utf-8
  2. from os import listdir

  3. files=listdir('e:\gcc-html\gcc')
  4. for file in files: print(files[1])   #返回第2个文件名
复制代码


这样循环次数是够了,可是每次都返回第二个文件名  去掉[1] 又同时返回所有文件了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-25 10:25:20 | 显示全部楼层
  1. # coding: utf-8
  2. from os import listdir

  3. files=listdir('e:\gcc-html\gcc')
  4. for file in files: print(file)   
复制代码


原来是这个样子的 ,基础太弱了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 00:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表