gpt4 book ai didi

python - 为什么我使用 rstrip() 得到这些结果?

转载 作者:行者123 更新时间:2023-12-01 01:58:26 25 4
gpt4 key购买 nike

我想保留不带 .csv 扩展名的文件名,但使用 rstrip('.csv') 会删除以 s 结尾的字符串中的最后一个字母:

data_files = [
"ap_2010.csv",
"class_size.csv",
"demographics.csv",
"graduation.csv",
"hs_directory.csv",
"sat_results.csv"
]

data_names = [name.rstrip('.csv') for name in data_files]

我得到这个结果:

["ap_2010", "class_size", "demographic","graduation","hs_directory", "sat_result"]

字符串人口统计和 sat_results 的末尾 s 已被删除,为什么会发生这种情况?

最佳答案

这是因为 rstrip() 会从字符串末尾单独去除所有字符。

>>> 'abcdxyx'.rstrip('yx')
'abcd'

这将搜索 yx 以从字符串的右侧剥离。如果您想删除 .csv,您可以使用 split 代替。

>>> "ap_2010.csv".split('.')[0]
"ap_2010"

对于文件名,使用函数os.path.splitext也是一个很好的做法:

>>> import os
>>> os.path.splitext('ap_2010.csv')[0]
"ap_2010"

关于python - 为什么我使用 rstrip() 得到这些结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49929647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com