用python写一段程序,实现touch的功能
315 2024-08-17 09:05
在Python中,可以使用内置的`os`模块来实现类似于Unix的`touch`命令的功能。以下是一个简单的Python脚本,它接受文件路径作为参数,并更新这些文件的时间戳。如果文件不存在,脚本将创建该文件。
```python
import os
import sys
def touch(file_paths):
for path in file_paths:
try:
# 如果文件不存在,创建文件
if not os.path.exists(path):
with open(path, 'a'):
os.utime(path, None) # 更新时间戳
else:
# 如果文件存在,更新时间戳
os.utime(path, None)
print(f"文件 '{path}' 的时间戳已更新。")
except Exception as e:
print(f"无法更新文件 '{path}' 的时间戳: {e}")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("用法: python touch.py <文件路径1> [文件路径2] ...")
else:
# 从命令行参数中获取文件路径
touch(sys.argv[1:])
```
要使用这个脚本,你需要将其保存为`.py`文件,例如`touch.py`,然后在命令行中运行它,后面跟上你想要更新时间戳的文件路径。例如:
```bash
python touch.py example.txt anotherfile.txt
```
这个脚本将更新`example.txt`和`anotherfile.txt`的时间戳,如果它们不存在,脚本将创建它们。注意,这个脚本只更新了文件的修改时间戳,并没有修改访问时间戳,因为Python的`os.utime`函数默认只更新修改时间戳。如果你需要同时更新访问时间戳,可以传递一个包含访问时间和修改时间的元组给`os.utime`函数。
成功后,将其保存在在%python_home%文件夹中 。即可使用
全部评论