87 lines
1.7 KiB
Markdown
87 lines
1.7 KiB
Markdown
### 读文件
|
||
|
||
- 读取全部内容
|
||
|
||
```python
|
||
f = open("xxx.py")
|
||
f.read()
|
||
```
|
||
|
||
- 读取指定多少个字符内容
|
||
|
||
```python
|
||
f = open("xxx.py")
|
||
f.read(2)
|
||
```
|
||
|
||
- 按行读取:如果返回空就代表文件读完了
|
||
|
||
```python
|
||
>>> f = open("xxx.py")
|
||
>>> f.readline()
|
||
'This is the first line of the file.\n'
|
||
>>> f.readline()
|
||
'Second line of the file\n'
|
||
>>> f.readline()
|
||
''
|
||
```
|
||
|
||
- 读取所有行到list
|
||
|
||
```python
|
||
>>> f = open("module_support.py")
|
||
>>> f.readlines()
|
||
['#!/usr/bin/python3\n', '\n', 'def add(a, b):\n', ' return a + b\n', '\n', 'if __name__ == "__main__":\n', ' print("__main__")\n', 'else:\n', ' print(__name__)\n']
|
||
>>>
|
||
```
|
||
|
||
- for循环读取每一行
|
||
|
||
```python
|
||
>>> f = open("module_support.py")
|
||
>>> for line in f:
|
||
... print(line, end = "")
|
||
...
|
||
#!/usr/bin/python3
|
||
|
||
def add(a, b):
|
||
return a + b
|
||
|
||
if __name__ == "__main__":
|
||
print("__main__")
|
||
else:
|
||
print(__name__)
|
||
>>>
|
||
```
|
||
|
||
|
||
|
||
### 写文件
|
||
|
||
```python
|
||
f = open("module_support.py", "a") # 追加
|
||
f = open("module_support.py", "w") # 文件不存在创建,存在就清空
|
||
f.wtite("one line string")
|
||
f.close()
|
||
```
|
||
|
||
### 文件操作cursor
|
||
|
||
- f.tell() 显示当前cursor位置
|
||
- f.seek(offset, from_what) 重新设置cursor位置
|
||
- from_what 的值, 如果是 0 表示开头, 如果是 1 表示当前位置, 2 表示文件的结尾,例如:
|
||
- seek(x, 0) : 从起始位置即文件首行首字符开始移动 x 个字符
|
||
- seek(x, 1) : 表示从当前位置往后移动x个字符
|
||
- seek(-x, 2):表示从文件的结尾往前移动x个字符
|
||
|
||
```python
|
||
>>> f = open("module_support.py", "a")
|
||
>>> f.tell()
|
||
128
|
||
>>> f = open("module_support.py", "a")
|
||
>>> f.seek(10, 0)
|
||
10
|
||
>>>
|
||
```
|
||
|