⑴ python如何删除指定文件夹中,文件名含有特定字符的文件
在开始菜 运行 输入 cmd 回车进入你文件所在的路径。然后输入 del *(1)*.*del后面有个空格。
⑵ Python路径错误问题,怎么解决
代码是这个:
print('C:usersdesktop')
1
出现这个报错:
SyntaxError:(unicodeerror)'unicodeescape'codeccan'tdecodebytesinposition2-3:truncatedUXXXXXXXXescape
1
“”在python中表示转义,而””打算将u转义为有意义的符号,而””并未能如愿,因为没有对应的转义字符。这时只能报上述的错误SyntaxError:(unicodeerror)‘unicodeescape’。应该改为“/”
即应改为:
print('C:/users/desktop')
1
也可以改为:
print(r'C:usersdesktop')
1
在字符串前加个r是为了告诉编译器这个string是个rawstring,不要转义~
⑶ 几个Python题目
1.【选择】下面哪个选项不是定义列表的正确方式?(D)
D.myList4=2,3,4,5
答案解析:这是定义元组的方式,而不是列表
2.【选择】根据下面表达式,a的值是:(C)
C.loWo
3.【填空】请写出如何切片myList[]的倒数第3~5位。
myList[-3:-5]
4.【判断】列表内元素的下标是从0开始的。(√)
5.【选择】下列Python表达式可以将列表反向并改变原列表值的是:(D)
D.myList.reverse()
答案解析:切片会生成新的列表;reversed只是生成新的迭代器;只有list.reverse()会对原表的值进行改变
-----------
1.【判断】Python语句“x="a","b","c"”中,x是一个元组。(√)
2.【选择】执行下列Python语句会报错的是:(A)
A.myTuple[3]=30
答案解析:元组是immutable(不可变)的,所以不能改变元组的值
3.【填空】使用Python内置函数,计算元组myTuple的语句是:
sum(myTuple)
4.【选择】下列关于Python的描述错误的是:(C)
C.对元组内部元素进行排序使用的是sort()
答案解析:元组不可变,所以不能对元素进行排序
------------
1.【选择】下列关于Python中字符串说法错误的是:(D)
D.Python中字符类型是char,字符串的类型是str
答案解析:python字符和字符串类型都是str
3.【填空】请写出用空格“”合并字符串“Jane”、“Doe”的Python语句:
"Jane"+""+"Doe"
4.【选择】下列不是Python3中解决路径中特殊字符问题的选项是:(C)
C.s=u"D: est"
------------
1.【选择】下列不是序列的是:(C)
C.集合
3.【选择】下面哪些操作是序列都具有的?(D)
D.以上都是
-----
1.【判断】Python中符号{}仅用在集合这一数据类型中。(B.×)
3.【填空】语句set("datascience")的结果是:
集合{'d','a','t','s','c','i','e','n'}
4.【选择】下列关于集合的说法错误的是:(A)
A.集合具有互异性,定义集合时不允许出现相同的元素
答案解析:出现了重复也没事,会自动去重的。
7.【选择】在Python中对数据进行去重处理,一般会借助下列哪种数据类型?(C)
C.集合
---------
1.【填空】有两个列表a=["name","age","sex"],b=["jonh","23","M"],请用一个语句将这两个列表转换成字典,其中列表a中的元素为“键”,列表b中的元素为“值”。
dict(zip(a,b))
2.【填空】定义一个新字典如下,用print输出dict1的结果是:
{1:3,2:'a'}
4.【判断】下面对字典d的定义是正确的。(B.×)
答案解析:列表不能用做键。应该用元组('a','b')做键。
⑷ python怎么读取文件名中包含特殊字符的文件 比如xiân.txt
我都没用过listdit。
但是,去找了下其使用说明:
os.listdir(path)
.Thelistisinarbitraryorder.Itdoesnotincludethespecial
entries'.'and'..'eveniftheyarepresentinthe
directory.
Availability:Unix,Windows.
Changedinversion2.3:OnWindowsNT/2k/XPandUnix,ifpathisaUnicodeobject,theresultwillbe
alistofUnicodeobjects.
stringobjects.
所以:
你可以试试,传入路径是unicode,比如:
foundDirList=os.listdir(u"在这里输入你的")然后,输出的list中的文件名列表,就都是unicode了,就可以正常显示出你要的,包括特殊字符的文件名了。
然后你就可以正常的打开了。
当然,后续处理文件时,如果是中文等非ASCII的话,也是要了解涉及到字符编码的。这时候,最好用codecs模块。如何使用,参见:
【教程】用Python的codecs处理各种字符编码的字符串和文件这里不能贴地址,google搜标题即可找到帖子。
⑸ 关于python的问题
这里有两个知识点:
1、切片,比如有一个字符串:name = 'abcdef',那么在内存中存储如图
取e 是 name[4]或者name[-2]
取ef 是 name[:-2]或者name[:4]
取bc 是name[1:3]或者name[-5:-3] ,需要注意的是,“:”后面取的闭包,也就是不包括本身,这个例子里name[3]的 d是不包括的。
那么path[:-4]就好理解了,就是取字符串开头到 -4位置的字符串'c: est.',不包括'h'。
2、转移字符
python系统中,如果在字符串中使用了一些特殊字符,比如换行、换行、tab制表符等等,还有一些特殊意义的字符,像“ 号,‘号,需要在字符前面加上“”。即转义符,通俗的说,就是“”后面的那个字符,不是字符原本的意思了,它代表了另一个字符。
比如常用到的 是代表换行, 是制表符。
但是有时候我们的字符串中,号就是它本身的意思,不作为转义符,比如题目路径中的中的号。这个时候就要在字符串前面加上一个'r',告诉系统,字符串里面的 号,不是转义符。
所以,你的题目答案就是 c: est.htm
当然,如果题目没有“r”,也就是 path='c: est.html' 那么答案就变成了 c: est.htm , 做为了一个制表符处理。
⑹ python 如何快速转义路径字符串中的斜杠
正斜杠,又称左斜杠,符号是"/";反斜杠,也称右斜杠,符号是"\"。
在Unix/Linux中,路径的分隔采用正斜杠"/",比如"/home/hutaow";而在Windows中,路径分隔采用反斜 杠"\",比如"C:\Windows\System"。
有时我们会看到这样的路径写法,"C:\\Windows\\System",也就是用两个反斜杠来分隔路径,这种写法在网络应用或编程中经 常看到,事实上,上面这个路径可以用"C:/Windows/System"来代替,不会出错。但是如果写成了"C:\Windows\System", 那就可能会出现各种奇怪的错误了。
至于上述问题出现的原因,要从字符串解析这方面来分析。
学过编程的人都应该知道,在C里面,输出字符串时,如果想输出一个换行,那就要加上'\n'这个标志,类似的,输出一个TAB,就加上' \t',也就是说,反斜杠("\")这个符号会把跟在它后面的字符结合起来转义成其它字符。根据这个原理,如果想输出双引号('"'),就需要输入' \"',这样才会将包含了双引号的字符串正确的写入内存中。那么如果想输入一个反斜杠呢?很简单,只要敲'\\'就可以了。
看到这里或许有些人已经看出眉目了,如果"C:\Windows\System"这个路径字符串交给C编译器编译,实际写入内存的字符串并没 有包含反斜杠"\",甚至紧跟在反斜杠后面的字母也一起被转义成了其它的字符,再次调用的话势必会出问题。
字符串解析不仅仅局限于C编译器,Java编译器、一些配置文件的解析、Web服务器等等,都会遇到对字符串进行解析的这个问题,由于传统的 Windows采用的是单个斜杠的路径分隔形式,导致在对文件路径进行解析的时候可能发生不必要的错误,所以就出现了用双反斜杠"\\"分隔路径的形式。 不管解析引擎是否将反斜杠解析成转义字符,最终在内存中得到的都是"\",结果也就不会出问题了。
⑺ python编程时提示路径中含有空格,请问各路大神怎么处理。
输出此路径看看print '***',path,'***'
看看到底是因为空格问题还是此path就是个空串
⑻ 关于python处理文件路径的问题
中文路径无法使用可能是文字编码不同,在代码开头加上
#-*coding:936*-
在路径中有转义字符,可以用/代替\,如
C:/Users/asus//Desktop/cura
或在字符串前加r
r"C:\Users\asus\Desktop\cura"
⑼ python里有能处理特殊字符的库么
自己写个函数
针对这里的问题,我们可以先将文件名解码成unicode,然后用gbk编码,如果抛出异常,说明编码失败,即文件名中存在特殊字符。下面是一个小例子:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
file_names = ["œ®特殊字符.txt",
"没有特殊字符.txt",
"ßååå.txt"
]
for file_name in file_names:
try:
file_name.decode("utf-8").encode("gbk")
print file_name, "..."
except UnicodeEncodeError:
print file_name, "中奖"
"""outputs:
œ®特殊字符.txt 中奖
没有特殊字符.txt ...
ßååå.txt 中奖
"""
⑽ python有没有好的去处字符串中特殊字符的方法
直接用str.replace就可以了。old表示将要替换的子串,new表示目标字符串,count表示替换个数。
>>> help(str.replace)
Help on method_descriptor:
replace(...)
S.replace(old, new[, count]) -> str
Return a of S with all occurrences of substring
old replaced by new. If the optional argument count is
given, only the first count occurrences are replaced.