笨办法学习python3练习代码:argv参数变量与文件操作
ex15.py
完成ex15.py需要在ex15.py同文件夹目录下面准备一个txt文件(ex15_sample.txt)
执行ex15.py 如: python ex15.py ex15_sample.txt。则可以读取 ex15_sample.txt这个文件的内容
读取文件的基本操作:
- 打开一个文件,如txt = open(filename)
- 读取文件,如txt.read()
- 对文件操作完,一定要关闭文件,如txt.close()
与文件操作有关的一些函数
- close:关闭文件
- read:读取文件的内容,可以把结果赋值给一个变量
- readline:只读取文本文件的一行
- truncate(缩短的意思):清空文件,小心使用该命令
- write("stuff"):将"stuff"写入文件
- seek(0):将读写位置移动到文件开头
from sys import argv
#sys是一个软件包,把argv这个特性(或者叫模块、方法)插入到代码中
script, filename = argv #filename 是要选择读取的文件名,在这里是ex15_sample.txt #读取文件第一步,打开文件
txt = open(filename)
print(f"Here's your file {filename}:") #读取文件第二步,读文件并打印
print(txt.read())
#文件处理完,一定要关闭
txt.close() print("Type the filename again:") #input中“>”是提示符,打印出来就是>;用户输入的字符串会赋给变量file_again
file_again = input("> ")
txt_again = open(file_again)
print(txt_again.read())
#文件处理完,一定要关闭
txt_again.close()
ex16.py
#close:关闭文件
#read:读取文件的内容,可以把结果赋值给一个变量
#readline:只读取文本文件的一行
#truncate(缩短的意思):清空文件,小心使用该命令
#write("stuff"):将"stuff"写入文件
#seek(0):将读写位置移动到文件开头 from sys import argv
script, filename = argv #filename = ex15_sample.txt
print(f"We're going to erase {filename}.") #erase :清除的意思 print("if you don't want that, hit CTRL-C {^C}.") # hit 点击,打击的意思
print("if you do want that,hit RETURN.") input("?")
print("Opening the file...")
target = open(filename,'w') #open for writing,truncating the file first
print("Truncate the file. Goodbye!") #清空文件
target.truncate() print("Now I'm going to ask you for threes lines.")
line1 = input("line 1: ")
line2 = input("line 2: ")
line3 = input("line 3: ") print("I'm going to write these to the file.")
target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")
#一行一行接着写入 print("And fianlly,we close it. ")
target.close()
ex17.py
注意事项:不要用echo方法创建txt文件,用echo命令会出错。直接在python3文件夹里面创建txt即可。也就是在运行代码之前直接在python3文件夹里面创建ex17_from.txt和ex17_to.txt两个文件。同时要在ex17_from.txt中写入一些东西(可随意写一些东西),才有内容从ex17_from.txt可以复制到ex17_to.txt中。
'''
把ex17_from.txt的内容 读取出来写入到ex17_to.txt 文件中
1.打开ex17_from.txt文件,默认读方式打开
2.读取文件数据
3.关闭ex17_from.txt文件 1.打开ex17_to.txt文件,默认读方式打开,改成写方式打开
2.写入数据
3.关闭ex17_to.txt文件 ''' from sys import argv
from os.path import exists #exist(存在的意思) script, from_file, to_file = argv
print(f"coping from {from_file} to {to_file}")
in_file = open(from_file)
indata = in_file.read()
print(f"The input file is {len(indata)}bytes long") print(f"Does the output file exists? {exists(to_file)} ") #exist(存在的意思)
print("Ready,hit RETURN to continue, CTRL-C to abort.")
input()
in_file.close() out_file = open(to_file,'w')
out_file.write(indata) print("Alright, all done.") out_file.close()
笨办法学习python3练习代码:argv参数变量与文件操作的更多相关文章
- 笨办法学习python3练习代码ex20.py 函数和文件
注意,还要在python3,就是ex20.py的同目录里面直接创建一个ex20.txt的文件.里面至少要有三行内容 #函数和文件 #readline:只读取文本文件的一行 #seek(0):将读写位置 ...
- 笨办法学习Python3练习代码1-10
ex1.py print("hello world!",end = " ")#不换行 print("hello again") print( ...
- 笨办法学python3练习代码13-14:argv参数变量的学习
ex13.py argv参数的学习 #argv:参数变量(argument variable),这是一个标准的编程术语,在其他语言中也可可以看到.argument可译为: 参数 #如果参数是用户在执 ...
- IOS学习之IOS沙盒(sandbox)机制和文件操作
IOS学习之IOS沙盒(sandbox)机制和文件操作(一) 1.IOS沙盒机制 IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都 ...
- iOS学习之iOS沙盒(sandbox)机制和文件操作1
iOS学习之iOS沙盒(sandbox)机制和文件操作 接上篇 iOS学习之iOS沙盒(sandbox)机制和文件操作(一) 我们看看如何获取应用程序沙盒目录.包括真机的沙盒的目录. 1.获取程序的H ...
- Python3基础(3)集合、文件操作、字符转编码、函数、全局/局部变量、递归、函数式编程、高阶函数
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- python学习之路-3 初始python数据类型以及文件操作
本篇涉及内容 set集合 函数 三元运算 文件操作 set集合 set是一个无序的且不重复的元素集合 1.创建set集合的方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- Unity3D学习笔记(二十五):文件操作
文件是什么? 存储在硬盘上的最后的节点. 文件夹是什么? 文件的上级单位称为文件夹. 文件夹的基本结构? 文件夹是层级化结构的,对于同级的文件夹不可以重名,父文件夹和子文件夹可以同名> IO:I ...
- Python小白学习之路(十九)—【文件操作步骤】【文件操作模式】
一.文件操作步骤 step1:打开文件,得到文件句柄并赋值给一个变量step2:通过句柄对文件进行操作step3:关闭文件 举例: a = open('hello world', 'r', encod ...
随机推荐
- Mac OS下安装mysqlclient遇到的一些坑
在玩django的同时,必须需要mysqlclient和pillow包,想在本地Mac上装上mysqlclient,但着实遇到不少坑,最终还是在github issue中找到了解决方法,这里记录一下, ...
- EntityFrameworkCore 开发实践问题及规范
严重问题 客户端求值 如where条件包含的GetValueOrDefault()不能被翻译成sql语句 不规范代码段例子 public async Task<List<Person> ...
- Spring Boot 2 实战:常用读取配置的方式
1. 前言 在Spring Boot项目中我们经常需要读取application.yml配置文件的自定义配置,今天就来罗列一下从yaml读取配置文件的一些常用手段和方法. 2. 使用@Value注解 ...
- flask 源码专题(九):flask扩展点
1. 信号(源码) 信号,是在flask框架中为我们预留的钩子,让我们可以进行一些自定义操作. pip3 install blinker 2. 根据flask项目的请求流程来进行设置扩展点 中间件 # ...
- 数据可视化之PowerQuery篇(十一)使用Power BI进行动态帕累托分析
https://zhuanlan.zhihu.com/p/57763423 上篇文章介绍了帕累托图的用处以及如何制作一个简单的帕累托图,在 PowerBI 中可以很方便的生成,但若仅止于此,并不足以体 ...
- hihoCoder 1040 矩阵判断 最详细的解题报告
题目来源:矩阵判断 解题思路: 1.判断矩阵的4个点是否相连,一共输入8个点,只要判断是否4个点是否都经过2遍: 2.判断矩阵中任意一条边与其他边之间要么平行,要么垂直.设A(x1,y1),B(x2, ...
- Linux下显示运行时链接(运行时加载)
目录 介绍 如何加载动态库 dlopen() 第一个参数: 被加载动态库的路径 第二个参数: flag表示函数符号的解析方式 dlopen 返回值 dlsym() 参数: 返回值 符号优先级 dler ...
- P1433 吃奶酪(洛谷)状压dp解法
嗯?这题竟然是个绿题. 这个题真的不(很)难,我们只是不会计算2点之间的距离,他还给出了公式,这个就有点…… 我们直接套公式去求出需要的值,然后普通的状压dp就可以了. 是的状压dp. 这个题的数据加 ...
- collection集合常用功能
java.util.Collection接口 是所有单列集合最顶层的接口,里面定义了所有单列集合的共性方法 1.public boolean add(E e) 添加元素 2.public bo ...
- Mybatis(四)多表操作
数据库如下: 一.创建数据库所对应的bean类 public class User { private Integer uId; private String username; private St ...