basename 和 dirname (copied)

本文详细介绍了在Linux或Unix环境下使用basename和dirname命令进行文件名和路径提取的操作,通过具体示例展示了如何获取文件名和路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Linux或Unix下basename取文件名,dirname取路径。


[user@host:tmp_work]$ basename abcd.ef
abcd.ef
[user@host:tmp_work]$ basename a/b/c/d.e.f
d.e.f
[user@host:tmp_work]$ dirname a/b/c/d/e.f
a/b/c/d
[user@host:tmp_work]$ dirname a\b\c\d
.
[user@host:tmp_work]$ basename a/b/c/d/
d
[user@host:tmp_work]$


import os import shutil def check_file_or_directory_exists(path): if os.path.exists(path): if os.path.isfile(path): return "File exists" elif os.path.isdir(path): return "Directory exists" return None else: return "Path does not exist" def read_file_content(file_path): try: with open(file_path, 'r', encoding='utf-8') as file: content = file.read() return content except FileNotFoundError: return "File not found." except Exception as e: return str(e) def write_file_content(file_path, content): try: with open(file_path, 'w', encoding='utf-8') as file: file.write(content) return "File written successfully." except FileNotFoundError: return "File not found." except Exception as e: return str(e) def copy_entire_folder(src_dir, dest_dir): try: shutil.copytree(src_dir, dest_dir) return "Folder copied successfully." except FileExistsError: return "Destination directory already exists." except Exception as e: return str(e) def main(): backup_dir = input("请输入备份的目录: ") file_to_backup = input("请输入要备份的文件或文件夹: ") dir_status = check_file_or_directory_exists(backup_dir) if dir_status == "Path does not exist": os.makedirs(backup_dir) file_status = check_file_or_directory_exists(file_to_backup) if file_status == "File exists": file_content = read_file_content(file_to_backup) backup_file_path = os.path.join(backup_dir, os.path.basename(file_to_backup)) result = write_file_content(backup_file_path, file_content) print(result) elif file_status == "Directory exists": backup_folder_path = os.path.join(backup_dir, os.path.basename(file_to_backup)) result = copy_entire_folder(file_to_backup, backup_folder_path) print(result) else: print("要备份的文件或文件夹不存在") if __name__ == "__main__": main()
最新发布
05-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值