filName=os.path.basename(img_name)
时间: 2023-05-20 09:03:05 浏览: 49
这是一个关于Python中获取文件名的问题,可以回答。os.path.basename()是一个Python内置函数,用于获取文件路径中的文件名部分。在这个问题中,img_name是一个文件路径,而filName是一个变量,用于存储img_name中的文件名部分。具体的代码实现可以是:
```
import os
img_name = "/path/to/my/image.jpg"
filName = os.path.basename(img_name)
print(filName) # 输出:image.jpg
```
希望这个回答能够帮到你!
相关问题
python代码:定义一个学生类和学生类对象的链表类,完成以下函数的补充。 2.1 补充学生类的定义 class Student: def __init__(self, sid=None,name=None,height=None,sex=None): self.sid=sid self.name=name self.height=height self.sex=sex def print(): #补充代码,打印本同学的全部信息 2.2 补充学生链表的定义 class SequenceTSet(): def __init__(self): self.Root=Student() def readFile(self, filname): #补充代码,能将文件中的信息,读入到self.Tset中 def writeFile(self, filname): #补充代码,能将self.Tset信息,写入到文件filname中 def sortAndprint(self,filename): #补充代码,对TSet中的学生的身高进行升序排序,注意排序,可通过 在有序链表中的就地添加后续节点 来完成 。 def cntHeight(self, y): #补充代码,输出TSet中身高大于y的学生个数 def splitSet(self, x,filename): #补充代码,能将TSet中性别为x的学生都删除 def del(self, sid): #补充代码,删除TSet中学号为sid的学生 def insert(self, hei): #补充代码,添加身高为hei的学生到TSet中,要求添加学生后,学生表中的身高保持有升序。 建立如下的 学生信息文件 ,每行存入 学号、姓名、 性别、 身高等信息 ,存为student.txt文件 ,读此文件 ,调用 学生类中的所有函数,进行数据 维护后,重新存回到文件 student.txt中 。 1 杨勇 0 1.78 2 左千 1 1.64
2.1 补充学生类的定义
```
class Student:
def __init__(self, sid=None, name=None, height=None, sex=None):
self.sid = sid
self.name = name
self.height = height
self.sex = sex
def print(self):
print("学号:", self.sid)
print("姓名:", self.name)
print("身高:", self.height)
print("性别:", "男" if self.sex == 0 else "女")
```
2.2 补充学生链表的定义
```
class SequenceTSet:
def __init__(self):
self.root = None
def readFile(self, filename):
f = open(filename, 'r')
for line in f:
sid, name, sex, height = line.strip().split()
s = Student(sid, name, float(height), int(sex))
self.insert(s)
f.close()
def writeFile(self, filename):
f = open(filename, 'w')
p = self.root
while p:
f.write("{}\t{}\t{}\t{}\n".format(p.sid, p.name, p.sex, p.height))
p = p.next
f.close()
def sortAndprint(self, filename):
p = self.root
while p:
q = p.next
while q:
if p.height > q.height:
p.height, q.height = q.height, p.height
q = q.next
p = p.next
self.writeFile(filename)
def cntHeight(self, y):
cnt = 0
p = self.root
while p:
if p.height > y:
cnt += 1
p = p.next
print("身高大于{}的学生个数为{}".format(y, cnt))
def splitSet(self, x, filename):
p = self.root
pre = None
while p:
if p.sex == x:
if pre:
pre.next = p.next
else:
self.root = p.next
else:
pre = p
p = p.next
self.writeFile(filename)
def delStu(self, sid):
p = self.root
pre = None
while p:
if p.sid == sid:
if pre:
pre.next = p.next
else:
self.root = p.next
return
pre = p
p = p.next
def insert(self, s):
p = self.root
pre = None
while p:
if p.height > s.height:
break
pre = p
p = p.next
if pre:
s.next = pre.next
pre.next = s
else:
s.next = self.root
self.root = s
```
完整的代码如下:
```
class Student:
def __init__(self, sid=None, name=None, height=None, sex=None):
self.sid = sid
self.name = name
self.height = height
self.sex = sex
def print(self):
print("学号:", self.sid)
print("姓名:", self.name)
print("身高:", self.height)
print("性别:", "男" if self.sex == 0 else "女")
class SequenceTSet:
def __init__(self):
self.root = None
def readFile(self, filename):
f = open(filename, 'r')
for line in f:
sid, name, sex, height = line.strip().split()
s = Student(sid, name, float(height), int(sex))
self.insert(s)
f.close()
def writeFile(self, filename):
f = open(filename, 'w')
p = self.root
while p:
f.write("{}\t{}\t{}\t{}\n".format(p.sid, p.name, p.sex, p.height))
p = p.next
f.close()
def sortAndprint(self, filename):
p = self.root
while p:
q = p.next
while q:
if p.height > q.height:
p.height, q.height = q.height, p.height
q = q.next
p = p.next
self.writeFile(filename)
def cntHeight(self, y):
cnt = 0
p = self.root
while p:
if p.height > y:
cnt += 1
p = p.next
print("身高大于{}的学生个数为{}".format(y, cnt))
def splitSet(self, x, filename):
p = self.root
pre = None
while p:
if p.sex == x:
if pre:
pre.next = p.next
else:
self.root = p.next
else:
pre = p
p = p.next
self.writeFile(filename)
def delStu(self, sid):
p = self.root
pre = None
while p:
if p.sid == sid:
if pre:
pre.next = p.next
else:
self.root = p.next
return
pre = p
p = p.next
def insert(self, s):
p = self.root
pre = None
while p:
if p.height > s.height:
break
pre = p
p = p.next
if pre:
s.next = pre.next
pre.next = s
else:
s.next = self.root
self.root = s
if __name__ == "__main__":
st = SequenceTSet()
st.readFile("student.txt")
st.sortAndprint("student.txt")
st.cntHeight(1.7)
st.splitSet(0, "student.txt")
st.delStu(2)
st.insert(Student(3, "王五", 1.65, 0))
st.writeFile("student.txt")
```
注意,这里的 `student.txt` 文件,需要和代码在同一个目录下,并且文件内容需要和题目中给出的一致。
python代码:定义一个学生类和学生类对象的顺序表类,完成以下函数的补充。 2.1 补充学生类的定义 class Student: def __init__(self, sid,name,height,sex): self.sid=sid self.name=name self.height=height self.sex=sex def print(): #补充代码,打印本同学的全部信息 2.2 补充学生顺序表的定义 class SequenceTSet(): def __init__(self): self.TSet=[ ] def readFile(self, filname): #补充代码,能将文件中的信息,读入到self.Tset中 def writeFile(self, filname): #补充代码,能将self.Tset信息,写入到文件filname中 def sortAndprint(self,filename): #补充代码,对TSet中的学生的身高进行升序排序 def cntHeight(self, y): #补充代码,输出TSet中身高大于y的学生个数 def splitSet(self, x,filename): #补充代码,能将TSet中性别为x的学生都删除 def del(self, sid): #补充代码,删除TSet中学号为sid的学生 def insert(self, hei): #补充代码,添加身高为hei的学生到TSet中,要求添加学生后,学生表中的身高保持有升序。 建立如下的 学生信息文件 ,每行存入 学号、姓名、 性别、 身高等信息 ,存为student.txt文件 ,读此文件 ,调用 学生类中的所有函数,进行数据 维护后,重新存回到文件 student.txt中 。 1 杨勇 0 1.78 2 左千 1 1.64
2.1 补充学生类的定义
```python
class Student:
def __init__(self, sid,name,height,sex):
self.sid=sid
self.name=name
self.height=height
self.sex=sex
def print(self):
print("学号:", self.sid)
print("姓名:", self.name)
print("身高:", self.height)
if self.sex == 0:
print("性别:男")
else:
print("性别:女")
```
2.2 补充学生顺序表的定义
```python
class SequenceTSet():
def __init__(self):
self.TSet=[]
def readFile(self, filname):
with open(filname, 'r') as f:
lines = f.readlines()
for line in lines:
sid, name, sex, height = line.strip().split()
sex = int(sex)
height = float(height)
student = Student(sid, name, height, sex)
self.TSet.append(student)
def writeFile(self, filname):
with open(filname, 'w') as f:
for student in self.TSet:
f.write(student.sid + ' ' + student.name + ' ' + str(student.sex) + ' ' + str(student.height) + '\n')
def sortAndprint(self,filename):
self.TSet.sort(key=lambda x: x.height)
self.writeFile(filename)
for student in self.TSet:
student.print()
def cntHeight(self, y):
cnt = 0
for student in self.TSet:
if student.height > y:
cnt += 1
print("身高大于", y, "的学生个数为:", cnt)
def splitSet(self, x,filename):
self.TSet = [student for student in self.TSet if student.sex != x]
self.writeFile(filename)
def del_student(self, sid):
for student in self.TSet:
if student.sid == sid:
self.TSet.remove(student)
return
print("学号为", sid, "的学生不存在")
def insert(self, hei):
student = Student(str(len(self.TSet) + 1), "", hei, 0)
self.TSet.append(student)
self.TSet.sort(key=lambda x: x.height)
```
读取学生信息文件 student.txt ,调用函数进行数据维护后,重新存回到文件 student.txt 中。
```python
sequencetset = SequenceTSet()
sequencetset.readFile('student.txt')
sequencetset.sortAndprint('student.txt')
sequencetset.cntHeight(1.70)
sequencetset.splitSet(0, 'student.txt')
sequencetset.del_student('1')
sequencetset.insert(1.75)
sequencetset.writeFile('student.txt')
```