如何使用Python从命令行读取文件?

如何使用Python从命令行读取文件?

为了使用Python从命令行读取文件,您需要编写一个可以接受CLI参数的Python脚本。例如,假设您想要编写一个Python版的cat命令(将文件内容全部输出到终端上),您可以编写以下程序:

import sys
with open(sys.argv[1], 'r') as f:
    contents = f.read()
print contents

如果您将此文件保存为cat.py并使用以下命令运行它:

$ python cat.py my_file.txt

这将把my_file.txt传递给cat.py作为CLI参数的argv[1]变量(第二个命令行参数),我们可以使用它来获取文件及其内容。

阅读更多:Python 教程

使用Python从命令行读取文件

您可以通过将文件名作为参数传递给Python脚本来从命令行读取文件。然后,您可以使用open()函数打开该文件并读取其内容。

例子

假设您有一个名为example.txt的文件,并希望从命令行中读取其内容。您可以创建一个名为read_file.py的Python脚本,并将文件名作为参数传递:

在这里,我们使用了sys.argv列表获取命令行中的文件名。使用open()函数打开文件并读取其内容,然后使用print()函数将其打印到终端上。

需要注意的是,您也可以使用其他文件模式与open()函数一同使用,例如用于二进制文件的'rb'或用于在文件中写入的'w'

import sys

# 从命令行中获取文件名
filename = sys.argv[1]

# 打开文件并读取其内容
with open(filename, 'r') as f:
    contents = f.read()

print(contents)

将此脚本保存到名为read_file.py的文件中。然后,您可以像这样从命令行中运行该脚本:

python read_file.py example.txt

这将打开名为example.txt的文件并将其内容打印到终端上。

输出

This is an example file.
It contains some text.

使用命令行参数读取文本文件

例子

在此示例中,我们使用sys.argv变量获取作为第一个命令行参数传递的文件名。然后,我们使用open()函数打开文件进行读取,并使用read()方法读取整个文件的内容,并将其打印到控制台上。

import sys

# 从命令行参数中获取文件名
filename = sys.argv[1]

# 打开文件进行读取
with open(filename, 'r') as file:
    # 读取整个文件的内容
    contents = file.read()
    print(contents)

使用命令行参数读取CSV文件

例子

在此示例中,我们使用csv.reader()函数创建了一个CSV reader对象,然后使用它来循环遍历CSV文件中的每一行,并将其打印到控制台上。

假设我们有一个名为data.csv的CSV文件,其内容如下:

Name,Age,Gender
Alice,25,Female
Bob,30,Male
Charlie,40,Male

我们可以使用Python中的csv模块来读取此文件并打印其内容:

import csv
import sys

# 从命令行参数中获取文件名
filename = sys.argv[1]

# 打开文件进行读取
with open(filename, 'r') as file:
    # 创建CSV读取器对象
    reader = csv.reader(file)

    # 循环遍历CSV文件中的每一行
    for row in reader:
        # 将行打印到控制台
        print(row)

使用命令行参数读取并打印文本文件的内容

例如

import sys

# 从命令行中读取文件名
filename = sys.argv[1]

# 打开文件并读取其内容
with open(filename, 'r') as file:
    contents = file.read()

# 打印文件的内容
print(contents)

使用命令行参数写入文件的内容

例如

import sys

# 从命令行中读取文件名和内容
filename = sys.argv[1]
contents = sys.argv[2]

# 打开文件并将内容写入文件
with open(filename, 'w') as file:
    file.write(contents)

# 打印成功信息
print(f"成功将'{contents}'写入到'{filename}'")

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程