waitforlove 发表于 2018-2-13 19:55:56

一点小疑惑

Windows64系统python 3.6.432位idle
#编写一个程序,用户输入搜索的路径,查找该路径下所有'.MP4','.rmvb','.avi','.py'的格式文件
#并创建vediolist.txt存放所有找到的文件路径
#如果遇到文件夹,就进入文件夹搜索
import os

def chazhao(path):
    f=open(path+'\\'+'vediolist.txt','w')
    allfile=os.listdir(path)
    for each in allfile:
      each=path+'\\'+each
      if os.path.isfile(each):
            if os.path.splitext(each) in ('.MP4','.rmvb','.avi','.py'):
                f.write(each+'\n')#不是说Windows下换行是'\r\n'
      elif os.path.isdir(each):
            chazhao(each)
    f.close()
chazhao(input('请输入待查找的初始目录:'))

ba21 发表于 2018-2-13 20:28:21

\n
\r\n
都是换行

°蓝鲤歌蓝 发表于 2018-2-13 20:38:33

输入路径需要转义是因为防止路径里有 \n ,\f 这种转义字符,你的两种路劲都可以是因为没有转义字符在里面。
不过一般我们为了方便与安全,都会写成 r'路径' 或者 \\这种形式。

waitforlove 发表于 2018-2-13 20:44:44

°蓝鲤歌蓝 发表于 2018-2-13 20:38
输入路径需要转义是因为防止路径里有 \n ,\f 这种转义字符,你的两种路劲都可以是因为没有转义字符在里面。 ...

\r\n 写入到文件,结果没换行啊
\n就是一行一行的

waitforlove 发表于 2018-2-13 20:46:11

ba21 发表于 2018-2-13 20:28
\n
\r\n
都是换行

不行\r\n写入没有换行\\r\\n试了也不行
\n就可以

°蓝鲤歌蓝 发表于 2018-2-13 20:49:49

waitforlove 发表于 2018-2-13 20:44
\r\n 写入到文件,结果没换行啊
\n就是一行一行的

不是我说的。。

waitforlove 发表于 2018-2-13 21:03:50

°蓝鲤歌蓝 发表于 2018-2-13 20:49
不是我说的。。

{:5_99:}

ba21 发表于 2018-2-13 21:10:07

>>> a="123456\nasdfasdf"
>>> f = open(r"d:\Users\Administrator\Desktop\1.txt","w")
>>> f.write(a)
>>> f.close()


>>> a="123456\r\nasdfasdf"
>>> f = open(r"d:\Users\Administrator\Desktop\2.txt","w")
>>> f.write(a)
>>> f.close()

看图,那样不行了?

ba21 发表于 2018-2-13 21:14:09

waitforlove 发表于 2018-2-13 21:51:17

我是字符串末尾加\r\n,写入文件,不是一行一行的
页: [1]
查看完整版本: 一点小疑惑