输入一个文件名,判断是否存在且是否是目录,是则显示其下的内容,否则创建它
时间: 2023-09-27 21:11:55 浏览: 70
下面是 Python 代码实现:
```python
import os
filename = input("请输入文件名:")
if os.path.exists(filename):
if os.path.isdir(filename):
# 如果是目录,则显示其下的内容
print(f"{filename} 是一个目录,内容如下:")
for file in os.listdir(filename):
print(file)
else:
print(f"{filename} 存在,但不是目录")
else:
# 如果不存在,则创建它
print(f"{filename} 不存在,正在创建...")
os.mkdir(filename)
```
这段代码首先使用 `os.path.exists()` 方法判断文件是否存在,如果存在则使用 `os.path.isdir()` 方法判断是否是目录。如果是目录,则使用 `os.listdir()` 方法列出其下的所有文件和子目录,并打印出来。如果不是目录,则打印出文件存在但不是目录的信息。
如果文件不存在,则使用 `os.mkdir()` 方法创建它。
相关问题
linux脚本输入一个文件名,判断是否存在且是否是目录,是则显示其下的内容,否则创建它
可以使用以下脚本来实现:
```
#!/bin/bash
read -p "请输入文件名:" file_name
if [ -d $file_name ]; then
echo "$file_name 是一个目录,其下的内容为:"
ls $file_name
elif [ -f $file_name ]; then
echo "$file_name 是一个文件"
else
echo "$file_name 不存在,将创建它"
mkdir $file_name
fi
```
该脚本首先读取用户输入的文件名,然后使用 `if` 语句判断该文件名是否是一个目录。如果是目录,则使用 `ls` 命令列出其下的内容。如果不是目录但是存在,则说明它是一个文件。如果该文件名既不是目录也不存在,则使用 `mkdir` 命令创建这个文件夹。
1. 创建一个简单的 shell 程序,其功能为: 使用read命令从键盘上获取文件名 ,判断该文件是否是存在,如果不存在给出提示并退出,判断文件是否是符号链接文件,如果是则移动到/tmp目录下,否则不进行任何处理,显示执行过程以及结果。
可以使用以下代码来实现该功能:
```
#!/bin/bash
echo "请输入文件名:"
read filename
if [ ! -e $filename ]; then
echo "文件不存在"
exit 1
fi
if [ -L $filename ]; then
mv $filename /tmp
echo "已将符号链接文件 $filename 移动到 /tmp 目录下"
else
echo "$filename 不是符号链接文件,不进行任何处理"
fi
```
注:该程序中使用了两个条件判断语句,其中 `! -e` 表示判断文件是否存在,`-L` 表示判断文件是否是符号链接文件。如果条件成立,则执行后面的语句,否则执行 else 语句或者不进行任何处理。
阅读全文
相关推荐













