用python写一段程序,实现touch的功能

107 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%文件夹中 。即可使用

全部评论

·