目前,这是我打开文件阅读它的方式:
using (TextReader reader = new StreamReader(Path.Combine(client._WorkLogFileLoc, "dump.txt")))
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)
如何在ReadOnly模式下打开文件,这样如果另一个进程同时打开文件,我的程序仍然可以读取它.
有没有人有一个Java片段可以返回目录中的最新文件(或者是一个简化这种事情的库的知识)?
我想用它tempfile.NamedTemporaryFile()来写一些内容然后打开那个文件.我写了以下代码:
tf = tempfile.NamedTemporaryFile()
tfName = tf.name
tf.seek(0)
tf.write(contents)
tf.flush()
Run Code Online (Sandbox Code Playgroud)
但我无法打开此文件,并在记事本或类似的应用程序中查看其内容.有没有办法实现这个目标?为什么我不能这样做:
os.system('start notepad.exe ' + tfName)
Run Code Online (Sandbox Code Playgroud)
在末尾
在Bash脚本中,是否可以在"尚未使用的编号最小的文件描述符"上打开文件?
我四处寻找如何做到这一点,但似乎Bash总是要求你指定数字,例如:
exec 3< /path/to/a/file # Open file for reading on file descriptor 3.
Run Code Online (Sandbox Code Playgroud)
相反,我希望能够做类似的事情
my_file_descriptor=$(open_r /path/to/a/file)
Run Code Online (Sandbox Code Playgroud)
这将打开'file'以读取尚未使用的编号最小的文件描述符,并将该编号分配给变量'my_file_descriptor'.
我有一个大型数据集,并希望将其分为培训(50%)和测试集(50%).
假设我有100个示例存储输入文件,每行包含一个示例.我需要选择50行作为训练集和50行测试集.
我的想法是首先生成一个长度为100的随机列表(值范围从1到100),然后使用前50个元素作为50个训练样例的行号.与测试集相同.
这可以在Matlab中轻松实现
fid=fopen(datafile);
C = textscan(fid, '%s','delimiter', '\n');
plist=randperm(100);
for i=1:50
trainstring = C{plist(i)};
fprintf(train_file,trainstring);
end
for i=51:100
teststring = C{plist(i)};
fprintf(test_file,teststring);
end
Run Code Online (Sandbox Code Playgroud)
但是我怎么能在Python中完成这个功能呢?我是Python的新手,不知道我是否可以将整个文件读入数组,并选择某些行.
嗨,我正在尝试从json文件中获取数据并插入和id然后执行POST REST.我的文件data.json有:
{
'name':'myname'
}
Run Code Online (Sandbox Code Playgroud)
我想添加一个id,以便json数据看起来像:
{
'id': 134,
'name': 'myname'
}
Run Code Online (Sandbox Code Playgroud)
所以我尝试过:
import json
f = open("data.json","r")
data = f.read()
jsonObj = json.loads(data)
Run Code Online (Sandbox Code Playgroud)
我无法加载json格式文件.我应该怎么做才能将json文件转换为json对象并添加另一个id值.
我对python pandas相当新,但是无法获得正确的to_csv输出引用.
import pandas as pd
text = 'this is "out text"'
df = pd.DataFrame(index=['1'],columns=['1','2'])
df.loc['1','1']=123
df.loc['1','2']=text
df.to_csv('foo.txt',index=False,header=False)
Run Code Online (Sandbox Code Playgroud)
输出是:
123,"这是""外出文字"""
但我想:
123,这是"出文字"
有谁知道如何做到这一点?
我希望有一个存储我的图像文件的地方,以便在我的Java项目中使用(一个非常简单的类,只是将图像加载到面板上).我到处寻找,无法找到如何做到这一点.我该怎么做呢?
我尝试将新文件夹添加到项目中,向项目添加新的类文件夹,并向项目添加新的源文件夹.不管我做什么,我总是得到一个IOException.文件夹总是说它们在构建路径上,所以我不知道该怎么做.
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PracticeFrame extends JFrame{
private static BufferedImage image;
Thread thread;
public PracticeFrame() {
super();
setPreferredSize(new Dimension(640,480));
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public static void main (String[] args) {
PracticeFrame pframe = new PracticeFrame();
try {
image = ImageIO.read(new File("/islands.png"));
} catch (IOException e) {
e.printStackTrace();
}
JPanel panel = new JPanel() {
@Override
protected void paintComponent(Graphics g) …Run Code Online (Sandbox Code Playgroud) 多年前,当我使用C#时,我可以轻松地创建一个临时文件并使用此函数获取其名称:
Path.GetTempFileName();
Run Code Online (Sandbox Code Playgroud)
此函数将在临时目录中创建具有唯一名称的文件,并返回该文件的完整路径.
在Cocoa API中,我能找到的最接近的是:
NSTemporaryDirectory
Run Code Online (Sandbox Code Playgroud)
我错过了一些明显的东西,还是没有内置的方法来做到这一点?
当我在Haskell中打开一个文件进行读取时,我发现在关闭文件后我无法使用该文件的内容.例如,该程序将打印文件的内容:
main = do inFile <- openFile "foo" ReadMode
contents <- hGetContents inFile
putStr contents
hClose inFile
Run Code Online (Sandbox Code Playgroud)
我期望将putStr线与hClose线交换将没有任何效果,但此程序不打印任何内容:
main = do inFile <- openFile "foo" ReadMode
contents <- hGetContents inFile
hClose inFile
putStr contents
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我猜这与懒惰评估有关,但我认为这些表达式会被排序,所以不会出现问题.你会如何实现这样的功能readFile?