python读取和py文件在同一目录下的文件名字
时间: 2024-05-04 09:18:14 浏览: 137
可以使用Python的内置模块os来获取当前文件所在的目录,然后通过拼接文件名的方式来读取文件。以下是示例代码:
```python
import os
# 获取当前文件所在的目录
current_dir = os.path.dirname(os.path.abspath(__file__))
# 文件名
file_name = "example.txt"
# 拼接文件路径
file_path = os.path.join(current_dir, file_name)
# 读取文件内容
with open(file_path, "r") as f:
content = f.read()
print(content)
```
在上面的代码中,`os.path.abspath(__file__)`用于获取当前文件的绝对路径,`os.path.dirname()`用于获取当前文件所在的目录。然后,通过`os.path.join()`函数将目录和文件名拼接起来得到文件的完整路径,最后可以使用`open()`函数读取文件内容。
相关问题
python利用ASE软件批量对同一目录下的POSCAR结构文件进行处理,只保留C原子,删除Fe原子,并输出只有C原子的结构文件为cif。代码
可以使用Python编写一个脚本来实现这个功能。需要用到ASE库来读取和写入结构文件,以及进行原子选择。
首先,确保已经安装了ASE库。可以使用以下命令来安装:
```
pip install ase
```
然后,创建一个名为`poscar_to_cif.py`的Python脚本,代码如下:
```python
from ase.io import read, write
from ase.io.cif import write_cif
import os
# 读取每个POSCAR文件,筛选出C原子并创建CIF文件
for filename in os.listdir('.'):
if filename.endswith('.vasp') or filename.endswith('.POSCAR'):
atoms = read(filename)
c_atoms = atoms.select('C')
del_atoms = atoms.select('Fe')
atoms.remove_atoms(del_atoms)
write_cif('{}.cif'.format(filename.split('.')[0]), atoms=atoms, atoms_per_site=len(atoms))
```
这个脚本会遍历当前目录下的所有`.vasp`和`.POSCAR`文件,读取每个文件并筛选出C原子。然后,将只包含C原子的结构写入一个新的`.cif`文件中。输出的文件名与原始文件的名称相同,只是扩展名不同。
注意:这个脚本假设每个POSCAR文件只包含一种元素类型的原子。如果一个文件中包含多种元素类型的原子,需要更改代码来选择正确的原子。
python利用ASE软件批量对同一目录下的不同POSCAR(POSCAR_1,POSCAR_2)结构文件进行处理,只保留C原子,删除Fe原子,并输出只有C原子的结构文件为cif。代码
可以使用Python编写一个脚本来实现这个功能。需要用到ASE库来读取和写入结构文件,以及进行原子选择。
首先,确保已经安装了ASE库。可以使用以下命令来安装:
```
pip install ase
```
然后,创建一个名为`poscar_to_cif.py`的Python脚本,代码如下:
```python
from ase.io import read, write
from ase.io.cif import write_cif
import os
# 读取每个POSCAR文件,筛选出C原子并创建CIF文件
for filename in ['POSCAR_1', 'POSCAR_2']:
atoms = read(filename)
c_atoms = atoms.select('C')
del_atoms = atoms.select('Fe')
atoms.remove_atoms(del_atoms)
write_cif('{}.cif'.format(filename.split('.')[0]), atoms=atoms, atoms_per_site=len(atoms))
```
这个脚本会读取`POSCAR_1`和`POSCAR_2`文件,并筛选出C原子。然后,将只包含C原子的结构写入一个新的`.cif`文件中。输出的文件名与原始文件的名称相同,只是扩展名不同。
注意:这个脚本假设每个POSCAR文件只包含一种元素类型的原子。如果一个文件中包含多种元素类型的原子,需要更改代码来选择正确的原子。
阅读全文