pyhon 获取目录下所有txt 如 a.txt b.txt c.txt ... 依次 a.txt 和b.txt 内容 写入new.txt 逻辑为 a[1] b[1] a[2] b[2] 当 a.txt或者b.txt 读取玩了 没有写完的继续和C.txt 写入 如没有最后只有c.txt 内容 直接写入
时间: 2023-06-06 12:07:53 浏览: 53
好的,这是一个关于Python的问题,我可以为您解答。
您可以使用Python的os和glob模块来获取指定目录下的所有txt文件。代码如下:
```python
import os
import glob
dir_path = '/path/to/directory' # 将目录的路径替换成您实际的路径
file_paths = glob.glob(os.path.join(dir_path, '*.txt'))
```
这个代码会将`dir_path`目录下所有以`.txt`为后缀的文件路径存入`file_paths`列表中。
接下来,您可以使用Python内置的`zip`函数来将两个文件内容一一对应地组合在一起,再将这些内容依次写入`new.txt`文件中。代码如下:
```python
with open('new.txt', 'w') as f:
for lines in zip(*[open(path) for path in file_paths]):
for line in lines:
f.write(line)
```
这个代码会将文件内容按照您指定的逻辑写入`new.txt`文件中。如果`a.txt`或`b.txt`没有完全写入,代码会继续从`c.txt`中读取并写入`new.txt`文件中。如果`c.txt`也没有内容,代码就直接结束。
希望这个回答能帮到您!
相关问题
pyhon 获取目录下所有txt 如 a.txt b.txt c.txt ... 当 a.txt或者b.txt 读取玩了 没有写完的继续和C.txt 写入 如果最后剩下c.txt 没多余的txt 那么c的内 直接写入new.txt
可以使用Python的os和shutil模块来实现这个功能。首先,使用os模块获取目录下所有的txt文件名,然后循环读取每个文件,并将内容写入到new.txt文件中。在读取过程中,可以使用shutil模块的copyfileobj方法来实现将已经读取的文件内容写入到new.txt文件中,并且在读取完一个文件后将其删除,防止重复读取。
以下是示例代码:
```python
import os
import shutil
# 获取目录下所有txt文件
txt_files = [f for f in os.listdir('.') if os.path.isfile(f) and f.endswith('.txt')]
# 打开new.txt文件
with open('new.txt', 'wb') as new_file:
# 循环读取每个txt文件
for txt_file in txt_files:
# 打开当前txt文件
with open(txt_file, 'rb') as current_file:
print(f"正在处理文件:{txt_file}")
# 将文件内容写入到new.txt文件中
shutil.copyfileobj(current_file, new_file)
# 删除已经读取完的txt文件
os.remove(txt_file)
```
需要注意的是,如果在读取过程中程序出现异常,可能会导致已经读取的文件被删除但没有写入到new.txt文件中,因此建议在写入完成后再删除文件。
Pyhon计算1+2+.....+100的值
可以使用循环来计算1到100的和,以下是Python代码:
```python
sum = 0
for i in range(1, 101):
sum += i
print("1+2+...+100的和为:", sum)
```
输出结果为:
```
1+2+...+100的和为: 5050
```