PYTHON 打印当前行数
时间: 2023-06-01 17:06:19 浏览: 63
可以使用Python的内置函数`linecache`来实现:
```python
import linecache
current_line = linecache.getline(__file__, sys._getframe().f_lineno)
print(current_line)
```
其中,`__file__`获取当前文件名,`sys._getframe().f_lineno`获取当前行号。`linecache.getline()`函数可以返回指定代码文件的指定行。
相关问题
python读取当前文件的行数
要读取当前文件的行数,可以使用`readlines()`方法读取文件的所有行,并使用`len()`函数获取行数。下面是一个示例代码:
```python
# 打开文件并读取内容
with open('filename.txt', 'r') as file:
lines = file.readlines()
# 获取行数
num_lines = len(lines)
# 打印行数
print("行数:", num_lines)
```
在上面的代码中,首先使用`open()`函数以只读模式打开文件,并使用`readlines()`方法将文件的所有行读取到一个列表 `lines` 中。
然后,使用`len()`函数获取列表 `lines` 的长度,即行数。
最后,将行数打印出来。
请注意,`readlines()`方法会将文件的所有行读取到内存中,如果文件较大,可能会占用较多的内存。如果只是需要获取行数而不需要保存每一行的内容,可以使用更高效的方式来统计行数,例如使用循环逐行读取并计数。
Python打印沙漏
Python打印沙漏可以使用循环语句和字符串拼接来实现,具体代码如下:
```
n = int(input("请输入沙漏的行数:"))
char = input("请输入沙漏的填充字符:")
# 打印上半部分
for i in range(n):
print(" " * i + char * (2 * (n - i) - 1))
# 打印下半部分
for i in range(n-2, -1, -1):
print(" " * i + char * (2 * (n - i) - 1))
```
以上代码中,首先通过input函数获取了沙漏的行数和填充字符,然后使用两个循环分别打印沙漏的上半部分和下半部分。在每一行中,需要根据当前行数i和沙漏总行数n计算出该行中填充字符的个数,具体方式是2*(n-i)-1,这个公式可以通过手动模拟一下找到规律得到。另外,还需要在每一行前面添加适当数量的空格,这个数量也是根据当前行数i计算出来的。